基本上我有三个问题需要从用户那里询问在iframe中显示的网站。如何在使用Ajax进行表单提交时加载一个div div
我有一个简单的html表单,iframe上方将提交用户对processor.php的处理答案。
第一个问题后,我需要加载两个,一个接一个,但以一种方式,iframe保持不变,因此整个页面不能刷新。
这是我到目前为止有:
形式:
<form id="myForm" action="" method="post">
<span id="surveyQuestion">Question 1</span><br/>
<input type="hidden" name="firstQuestion" value="Question 1">
<span class="info">0</span>
<input type="radio" class="radioButton" name="response" value="0">
<input type="radio" class="radioButton" name="response" value="1">
<input type="radio" class="radioButton" name="response" value="2">
<input type="radio" class="radioButton" name="response" value="3">
<input type="radio" class="radioButton" name="response" value="4">
<input type="radio" class="radioButton" name="response" value="5">
<span class="info">5</span>
</form>
jQuery的:
$(function() {
$("input.radioButton").change(function(){
$.ajax({
type: 'post',
url: 'processor.php',
data: $('#myForm').serialize(),
success: function() {
$("#surveyBox").load("question2.php #secondQuestion > *");
}
});
});
});
我使用$("#surveyBox").load("question2.php #secondQuestion > *");
加载question2.php那里是一个div与id secondQuestion,看起来像这样:
<div id="secondQuestion">
<script type='text/javascript'>
$(function() {
$("input.radioButton").change(function(){
$.ajax({
type: 'post',
url: 'processor.php',
data: $('#myForm').serialize(),
success: function() {
alert('Done');
}
});
});
});
</script>
<form id="myForm" action="" method="post">
<span id="surveyQuestion">Question 2</span><br/>
<input type="hidden" name="secondQuestion" value="Question 2">
<span class="info">0</span>
<input type="radio" class="radioButton" name="response" value="0">
<input type="radio" class="radioButton" name="response" value="1">
<input type="radio" class="radioButton" name="response" value="2">
<input type="radio" class="radioButton" name="response" value="3">
<input type="radio" class="radioButton" name="response" value="4">
<input type="radio" class="radioButton" name="response" value="5">
<span class="info">5</span>
</form>
</div>
问题是,当我这样做时,新加载的div内的submit
功能不再有效。我没有以“完成”警告框的形式得到确认。
我读了关于.on()
的功能,但我觉得现在有点过头了???
我还必须问:这是一个明智的想法,还是我可以将问题完全放在另一个地方,并以其他方式一个接一个地称呼它们?因为现在我需要在第二个等之后加载question3.php ...
你能给我举个例子吗? – ynef
在所有问题都得到解答后,我更喜欢第二个提交表单的地方,但我对代码感到困惑 - 只有一种形式,但是您指的是函数中的三种不同形式? – ynef
对不起,在这一方面领先于我自己,我已经改变它来反映新的完整包装形式。 –