У меня есть страница, которая использует сообщение jQuery для отправки формы и возврата данных в теге div на той же странице. тогда форма все еще доступна, так что пользователю могут быть заданы несколько вопросов и информация будет извлечена из базы данных.
В первый раз, если пользователь пытается отправить форму без выбора переключателя, он получает окно с предупреждением, в котором говорится, что он должен сделать выбор. Однако после первого раза пользователь может отправить форму без выбора.
Переключатели поддерживают свое установленное значение. Любые идеи о том, как я могу использовать этот формат и убедиться, что при каждой последующей отправке формы выбран переключатель?
Вот первая страница 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>