永发信息网

javascript细节问题

答案:4  悬赏:70  手机版
解决时间 2021-07-18 23:44
  • 提问者网友:心如荒岛囚我终老
  • 2021-07-18 16:44

<head>
<script>
function checkform(formobj){
var formok=true;
if(formobj.myfield.value==""){
window.alert("you must enter a value in the field");
formobj.myfield.focus();
formok=false;}
if(formok){formobj.submit();}}
</script>
</head>
<body>
<form name="myfield" action="2.html" >
text field: <input type="text" name="myfield"><br>
<input type="button" value="submit" onClick="checkform(this.form);">
</form>
</body>

上面这段代码我试验了一下,怎么在不输入的情况下,直接点ENTER也能进入目标网页啊?高手提示一下,好像在INPUT TYPE是SUBMIT的情况下就没这种情况,我想知道怎么回事,区别在哪?

最佳答案
  • 五星知识达人网友:迟山
  • 2021-07-18 18:23

你这代码可就有问题了,,,这个submit按钮和普通的按钮是不一样的 只要点了虽然会出发事件,但是肯定会提交的,,除非你的form的onsubmit事件返回的是true,,,,你这样设定 就算 值为空,,虽然有弹窗 但是照样提交,,至于回车键,默认的 提交按钮的快捷键就是回车,当然会提交了


所以你的代码是错的 正确代码如下


<head>
<script>
function checkform(formobj){
var formok=true;
if(formobj.myfield.value==""){
window.alert("you must enter a value in the field");
formobj.myfield.focus();
formok=false;



}


return formok;
}
</script>
</head>
<body>
<form name="myfield" action="2.html" onsubmit="return checkform(this.form)">
text field: <input type="text" name="myfield"><br>
<input type="button" value="submit" onClick="checkform(this.form);">
</form>
</body>

全部回答
  • 1楼网友:忘川信使
  • 2021-07-18 20:43

<input type="button" value="submit" onClick="return checkform(this.form);">

不要这个

if(formok){formobj.submit();}}

还有

看一下alert(formobj.myfield.value=="")是什么

  • 2楼网友:轮獄道
  • 2021-07-18 19:50
我的IE8.0 运行没问题啊。
  • 3楼网友:忘川信使
  • 2021-07-18 19:40

onClick="return checkform(this.form);"

checkform(this.form) 这个函数要返回一个true 或者是false的值

function checkform(formobj){ var formok=true; if(formobj.myfield.value==""){ window.alert("you must enter a value in the field"); formobj.myfield.focus(); return false;

}

else

{

return true;

}

我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯