Javascript块表单提交
如果用户按“取消”确认选择医生,我将如何阻止表单提交Javascript块表单提交,javascript,html,Javascript,Html,如果用户按“取消”确认选择医生,我将如何阻止表单提交 <form method="post" action="registration.php" autocomplete="off" onsubmit="return validateMyForm();"> <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form method="post" action="registration.php" autocomplete="off" onsubmit="return validateMyForm();">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select name="role" id="role">
<option value="Patient">Patient</option>
<option value="Doctor">Doctor</option>
<option value="Nurse" >Nurse</option>
</select>
<input type="submit">
</form>
<script>
$("#role").change(function(){
var val = $(this).val();
switch (val){
case "Doctor":
var d = confirm("Are you a doctor?");
}
});
</script>
病人
医生
看护
$(“#角色”).change(函数(){
var val=$(this.val();
开关(val){
病例“医生”:
var d=确认(“你是医生吗?”);
}
});
如果按取消,您的d
变量将为false
,因此:
$(“#角色”).change(函数(){
设val=$(this.val();
让blockSubmit=false;
如果(val==‘医生’){
让d=确认(“你是医生吗?”);
blockSubmit=!d;
}
否则{
blockSubmit=false
}
$('input[type=“submit”]”)。prop('disabled',blockSubmit);
}); 代码>
病人
医生
看护
如果按取消,您的d
变量将为false
,因此:
$(“#角色”).change(函数(){
设val=$(this.val();
让blockSubmit=false;
如果(val==‘医生’){
让d=确认(“你是医生吗?”);
blockSubmit=!d;
}
否则{
blockSubmit=false
}
$('input[type=“submit”]”)。prop('disabled',blockSubmit);
}); 代码>
病人
医生
看护
要禁用表单提交,可以在表单的onsubmit
属性上使用return false
由于您已经在那里调用了validateMyForm()
函数,因此只需确保该函数返回false:
function validateMyForm() {
....
// do some checks...
return false;
}
如果您想阻止基于确认的答案提交表单,则应将答案保存在某个变量中,以便以后使用:
<script>
var d;
$("#role").change(function(){
var val = $(this).val();
switch (val){
case "Doctor":
d = confirm("Are you a doctor?");
}
});
</script>
要禁用表单提交,可以在表单的onsubmit
属性上使用returnfalse
由于您已经在那里调用了validateMyForm()
函数,因此只需确保该函数返回false:
function validateMyForm() {
....
// do some checks...
return false;
}
如果您想阻止基于确认的答案提交表单,则应将答案保存在某个变量中,以便以后使用:
<script>
var d;
$("#role").change(function(){
var val = $(this).val();
switch (val){
case "Doctor":
d = confirm("Are you a doctor?");
}
});
</script>
如果要执行此操作,请不要忘记激活输入,以防再次切换#角色。未捕获类型错误:$(…)。禁用不是一个函数(…)@Susan抱歉,我的内存溢出了。请查看我的更新答案。请使用代码段编辑器,而不是外部页面,除非代码段编辑器不允许您所做的事情Tank you@mplungjan,仍然习惯于:-)如果您正在这样做,请不要忘记激活输入,以防再次切换#角色。未捕获类型错误:$(…)。禁用不是一个函数(…)@苏珊道歉,我忘了。请查看我的更新答案。请使用代码段编辑器,而不是外部页面,除非代码段编辑器不允许您在Ank you@mplungjan中所做的事情,但仍然习惯于:-)