关于jquery form select的疑惑

zheermao 2015-06-06 08:51:02
我想表单提交以后,如果是默认的选项,提交弹出一个窗口——提交不成功;如果选择一个下拉菜单(非默认),表单能正常提交。意思就是下拉菜单必须选择一个值,并且不是默认值。
我的网页是这样写的:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>HTML</title>
<script type="text/javascript" src="jquery-1.11.2.js"></script>
<script type="text/javascript" src="m-js5-f_test01.js"></script>
</head>

<body>
<form id="myForm" name="myForm" action="#" method="post">
<fieldset>
<label for="crust">Crust Type: </label>
<select name="crust">
<option value="">Please choose...</option>
<option value="thin">Thin</option>
<option value="deepdish">Deep Dish</option>
</select>
<br />
<hr />
<input type="submit" name="submitForm" />
</fieldset>
</form>
</body>
</html>

我原先想用正则表达式写JS,是这样写的:

$(document).ready(function(){

$('#myForm').submit(function(){
var formError=false;
if($(':select[name="crust"]:selected').val()==""){//select has no option, only default
formError=true;
}
if(formError){
alert("select must checked!");
return false;
}
else{
alert("Form valid, submitting to sever.");
return true;
}
});
});
//basic require submit

后来表单提交后没有任何弹窗。后来我上网搜索,修改了JS代码:
if($('select[name="crust"]option:selected').val()==""){ //select has no option, only default
formError=true;
}
提交后,还是不对,这次出现了弹窗,但是不论select是不是默认的值,都弹出表单提交成功的窗口。
再后来,我只能在FORM里的SELECT 中加上ID,
在JS中修改:
if($("#crustid").val()=="") {//select has no option, only default
formError=true;
}
表单在下拉菜单不是默认选项时如愿提交。

我想问大家的是:
获取下拉菜单的值能否用正则表达式?JS中我的正则表达式错在哪里?
...全文
316 5 打赏 收藏 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
ForUSmile 2015-06-08
  • 打赏
  • 举报
回复
select前面的冒号不需要
zheermao 2015-06-08
  • 打赏
  • 举报
回复
引用 3 楼 Anmie123 的回复:
select前面的冒号不需要
谢谢!
zheermao 2015-06-08
  • 打赏
  • 举报
回复
引用 2 楼 gxttr 的回复:
是你写错了 if($('select[name="crust"]').val()==‘’) 这样就可以了
谢谢!!可以了!
遥望那些年 2015-06-07
  • 打赏
  • 举报
回复
是你写错了 if($('select[name="crust"]').val()==‘’) 这样就可以了
zheermao 2015-06-07
  • 打赏
  • 举报
回复
同时,我也不明白为什么用刚开始的JS写,表单提交后没有任何弹窗?

87,984

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧