簡體   English   中英

Ajax表單提交重新加載頁面

[英]Ajax form submission reloads the page

表單提交后頁面重新加載,我希望它不重新加載。 更新:下面的答案我想出了下面的代碼。 發生的情況是表單正確提交,但是頁面重新加載。 之前,這行代碼可以正常工作:

$(document).ready(function() { 
    $('#poll').ajaxForm(function() { 
        $("#polling_id").load("poll_results.php");
    }); 
}); 

今天,我添加了.htaccess來刪除.php擴展名。 會影響到這個嗎?

的HTML

<head>
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7/jquery.js"></script> 
    <script src="http://malsup.github.com/jquery.form.js"></script> 
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></SCRIPT>
</head>
<div class="polling" id="polling_id">
    <br><br>    

    <form id="poll_form" method="POST" action="process-vote.php" />
    <div class="poll_objects">
        <input type="hidden" name="o1" value="<?php echo $option1; ?>" />
        <input type="hidden" name="o2" value="<?php echo $option2; ?>" />
        <input type="hidden" name="o3" value="<?php echo $option3; ?>" />
        <span class="footer_font"><input type="radio" name="radio_1" value="<?php echo $option1;?>" id="radio" /><label for="radio"><?php echo $option1;?></label> </span><br><br>
        <span class="footer_font"><input type="radio" name="radio_1" value="<?php echo $option2;?>" id="radio2" /><label for="radio2"><?php echo $option2;?></label></span><br><br>
        <span class="footer_font"><input type="radio" name="radio_1" value="<?php echo $option3;?>" id="radio3" /><label for="radio3"><?php echo $option3;?></label></span><br><br>
        <div class="float_buttons">
            <input type="submit" name="submit_vote" value="Vote!" class="button" />
            <input type="submit" name="results" value="Poll Results" class="button"/>
        </div>
    </div>
</div>
</form>

jQuery的:

<script> 
    $(document).ready(function() {         
        $.ajax({    
            $('#poll_form').submit(function(e) {
                e.preventDefault();
                // note where the e comes from.
                var a = $(this).serialize();
                $("#polling_id").load("poll-results.php");
            });
        });    
    });
</script>

您似乎沒有捕獲事件。

$('#poll_form').submit(function(e) {
   e.preventDefault();
   // note where the e comes from.
   var a = $(this).serialize();
   // now do your ajax stuff here.
});

您還可以輸入:

<script>
   function validate()
   {
     ...
        blablabla
     ...
     return false; // This cause the submit function to be stopped.
   }
</script>
<form onClick="validate()">

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM