1
我有一個使用jQuery post提交表單並在同一頁面的div標記內返回數據的頁面。那麼表單仍然可以訪問,以便可以向用戶詢問多個問題,並從數據庫中獲取信息。帶單選按鈕檢查驗證的jQuery Post
如果用戶在未選擇單選按鈕的情況下嘗試提交表單,則會收到一個警告框,表示他們必須進行選擇。但是,在第一次通過用戶之後,可以在不做選擇的情況下提交表單。
單選按鈕保持其設定值。關於如何使用這種格式的任何想法,並確保每次連續的表單提交選擇一個單選按鈕?
這裏是第一頁test.php的
<!doctype html public "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>test jQuery post</title>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.js"></script>
<script type="text/javascript" src="http://ajax.microsoft.com/ajax/jquery.validate/1.7/jquery.validate.min.js"></script>
<script type="text/javascript">
//<![CDATA[
jQuery.noConflict();
jQuery(document).ready(function(){
initializeForm();
});
function initializeForm() {
jQuery("#university").validate({
debug: false,
submitHandler: function(form) {
var validationTypes = jQuery("#validationTypes");
var valid = false;
if (validationTypes.val()== 'radio')
{
for(i=0; i<university.radio.length; i++) if(university.radio[i].checked) {valid=true;}
if (valid == false)
{
alert ("Please pick an answer before trying to Submit this form.");
return false;
}
}
jQuery.post('post.php',
jQuery("#university").serialize(),
function(data) {
jQuery('#box').html(data);
initializeForm();
});
}
});
}
// ]]>
</script>
</head>
<body>
<div id="box"><? include('post.php') ?></div>
</body>
</html>
這裏是第二頁post.php中
<?
$radio = (isset($_POST['radio'])? $_POST['radio']: 0);
switch ($radio)
{
default:
echo 'pick a number<br /><br />';
break;
case '1':
echo 'you pick one<br /><br />Pick Again<br /><br />';
break;
case '2':
echo 'you pick two<br /><br />Pick Again<br /><br />';
break;
case '3':
echo 'you pick three<br /><br />Pick Again<br /><br />';
break;
}
?>
<form action="" method="POST" id="university" name="university">
<input type="radio" name="radio" value="1" /> 1
<input type="radio" name="radio" value="2" /> 2
<input type="radio" name="radio" value="3" /> 3
<input type="hidden" name="validationTypes" id="validationTypes" value="radio">
<input type="submit" name="submit" value="submit" /></form>
你清理用戶提交後的形式? –
在您的submitHandler中,我看不到在任何地方定義的「大學」。你的意思是使用'document.university'嗎?你得到任何JavaScript錯誤? – RoccoC5
塞爾吉奧,我沒有清潔表格?在submision之後......不確定你的意思。 – simian