停止提交时刷新表单

时间:2015-03-03 13:16:59

标签: php forms post if-statement refresh

我有这个问题,表单在提交时刷新,我不想让它刷新,但我确实希望它提交。你们谁知道我能做什么?

点击此link以查看相关内容的旧文章。

<form method="post" id="radioForm">

<?
foreach($result as $radio):

    printf('

        <button type="submit"
            href="#radio"
            name="submitRadio"
            value="'.$radio['id'].'">
            Go!
        </button>

    ');
endforeach;
?>

</form>
<script type="text/javascript">
    $('#radioForm').submit(function(event) {
        event.preventDefault();
    $.ajax({
        url:'index.php',
        data:{submitRadio:[radiovalue]},
        type:'POST',
        success:function(response) {
            /* write your code for what happens when the form submit */
        });
    });
</script>
</div>

3 个答案:

答案 0 :(得分:0)

使用像jquery这样的ajax

$('form').submit(function(event) {
 event.preventDefault();
$.ajax({
    url:'index.php',
    data:{submitRadio:[radiovalue]},
    type:'POST',
    success:function(response) {
        /* write your code for what happens when the form submit */
    }
  });
});

答案 1 :(得分:0)

使用submit()处理程序并将按钮的值传递给其他脚本

首先在表单上设置id。

<form method="post" id="formId">

然后绑定一个监听器

$( "#formId" ).submit(function( event ) {
  event.preventDefault();
  //This is where you put code to take the value of the radio button and pass it to your player.
});

要使用它,你需要jQuery。

您可以在此处详细了解此处理程序:http://api.jquery.com/submit/

答案 2 :(得分:0)

这是提交时HTML <form>的默认行为,它将浏览器POST数据发送到action属性中指定的目标位置,并将该处理的结果加载到用户。

如果要在不重新加载页面的情况下提交表单和POST幕后值,则必须禁用默认行为(表单提交)并使用AJAX。这种功能在各种JavaScript库中都很容易获得,例如一个名为jQuery的常见库。

以下是jQuery的AJAX功能http://api.jquery.com/jquery.ajax/

的文档

有很多关于interwebs的教程可以向您介绍jQuery的基本用法(将库包含到HTML页面中)以及如何通过AJAX提交表单。

您需要创建一个PHP文件,该文件可以获取由于AJAX请求而发布的值(例如将值提交到数据库)。该文件需要返回可在代码中拾取的值,以便您知道请求是否为/成功。返回的值通常采用JSON格式。

这个答案中有很多关键词可以引导您前往AJAX发现。我希望这有帮助!