0

我有这个表格(它是一个网络投票),带有无线电答案,当提交来自操作文件(voting.php)的信息时我需要它打印在同一页面上而不刷新!请帮助我,我已经努力了几个小时,因为我是 Ajax jQuery 和 java 以及所有那些棘手的动态东西的新手。

<form name="myform" id="myform" action="voting.php" method="post">
    <input id="radio1" type="radio" name="answer" value="answer1"><?php echo $answer1?><br>
    <input id="radio2" type="radio" name="answer" value="answer2"><?php echo $answer2?><br>
    <input id="radio3" type="radio" name="answer" value="answer3"><?php echo $answer3?><br>
    <input id="radio4" type="radio" name="answer" value="answer4"><?php echo $answer4?><br>
    <input id="radio5" type="radio" name="answer" value="answer5"><?php echo $answer5?><br>
    <input id="questionId" type="hidden" name="questionId" value="<?php echo $questionId?>">
    <center><input id="button" type="submit" value="Vote"></center>
</form>
4

2 回答 2

0

如果你能够使用 jquery,你可以做类似的事情

$('#myform').submit(function(e){
    e.preventDefault();
    $.post('voting.php', {$(this).serialize()}, function(data){
        $('#form').html(data);
    })
});
于 2013-05-12T22:59:51.183 回答
0

首先对voting.php 中的数据做任何你想做的事情。数据库,或者只是将其设置为以您想要的任何格式回显帖子。回声 $_post("答案")

那么,你的 jquery 可能看起来像这样

$(function() {
$('#myform').on('submit', function(){
var that = $(this),
url = that.attr('action'),
type = that.attr('method'),
data = {};

that.find('[name]').each(function(index, value){
var that = $(this),
name = that.attr('name'),
value = that.val();
data[name] = value;
});
$.ajax({
url: url,
type: type,
data: data,
success: function(responce){
  $('#display').html(responce).delay(6000).fadeOut(1000);
  }
});
return false;
});
});

#display 是 Div#display,您将用于显示来自 vote.php 的结果,您在 vote.php 中回显的任何内容都将显示在 #display 中

摆脱 echo $answer 的东西

于 2013-05-12T23:33:49.440 回答