如果用户输入了所有必需的答案,我有以下代码验证问卷表格并在下一页上发布答案。此代码在Chrome和其他浏览器上完美运行,IE(Internet探索)除外。它显示警告消息“回答所有问题”甚至选择选项所有问题。这件事只发生在IE中。有人可以告诉我为什么它的表现如此吗?
<script type="text/javascript">
//---------------Method for validating the Question whole form --------------//
function checkRadio(name)
{
var radio = document.forms.myForm[name];
for (var option in radio)
{
if(radio[option].checked)
{ return true; }
}
return false;
}
function ValidateQuestions()
{
if (checkRadio("question1") && checkRadio("question2") && checkRadio("question3") && checkRadio("question4") && checkRadio("question5") && checkRadio("question6") && checkRadio("question7") && checkRadio("question8") && checkRadio("question9") && checkRadio("question10") && checkRadio("question11") && checkRadio("question12") && checkRadio("question13") && checkRadio("question14") && checkRadio("question15") && checkRadio("question16") && checkRadio("question17") && checkRadio("question18") && checkRadio("question19") && checkRadio("question20") )
{ return true; }
else{ return false; }
}
//-----------------------------------------------------------------------------//
jQuery(document).ready(function($)
{
jQuery('#submitFormC').click(function()
{
var str = $("#questionnaireForm").serialize();
var data = {
action: 'myajax-submit',
s: str,
beforeSend: function(){
$( "#tab" ).empty();
$("#tab").append("<img id='busyImg' src='busy.gif'/>");
}
};
if(ValidateQuestions())
{
jQuery.post("thankyou.php?t=<?php echo $sid;?>", data, function(response) {
//alert('Got this from the server: ' + response);
$( "#tab" ).empty().append( response );
} );
}
else { alert("Answer all questions"); }
return false;
});
});
</script>
答案 0 :(得分:1)
试试这个:小提琴:http://jsfiddle.net/eNt3c/4/
function checkRadio(name)
{
if($("input[name='"+ name + "']").is(':checked'))
{ return true; }
alert("Please select " + name);
return false;
}