onclick即使在返回false后仍然运行

时间:2015-11-16 23:59:21

标签: javascript forms submit

我有一个onclick表单提交,我的函数返回false但页面仍然加载。这是html页面的代码。

<html>
<head>
<link type="text/css" rel="stylesheet" href="style.css"></style>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
<script src="jquery.js"></script>
</head>
<body>
<form method="put">
<fieldset>
<h1>Order a pizza</h1>
<br />
<p id="alerts"> hello</p>
<p>Choose Your Size: </p>
<select id="selector">
  <option value="volvo">Small</option>
  <option value="saab">Mediam</option>
  <option value="mercedes">Large</option>
  <option value="audi">Party</option>
</select>
<fieldset>
<legend>How well cooked?</legend><br />
<input type="radio" id="r1" class="cookGroup" value="r1" /> Lightly Cooked <br /><br />
<input type="radio" id="r2" class="cookGroup" value="r2" /> Normal <br /><br />
<input type="radio" id="r3" class="cookGroup" value="r3" /> Extra cooked <br /><br />
</fieldset> 
<fieldset>
<legend>Choose toppings</legend><br />
<input type="checkbox" id="r1" class="rgroup" value="r1" /> Pepperoni <br /><br />
<input type="checkbox" id="r2" class="rgroup" value="r2" /> Green Pepper <br /><br />
<input type="checkbox" id="r3" class="rgroup" value="r3" /> Mushrooms <br /><br />
<input type="checkbox" id="r3" class="rgroup" value="r3" /> Extra Cheese <br /><br />
</fieldset> 
<p> Special Instructions </p>
<textarea name="t1" id="t1" rows="30" cols="100"></textarea>
<br />
<input type="hidden" name="userID" id="userID" value="12">
<input type="submit" value="submit form" onclick="check()">
<input type="reset" value="reset form">
<br /> <br />
</fieldset>
</form>
</body>
</html>

这是我的功能。它位于外部javascript文件中。它一直返回false,但表单继续提交。我有一个令人讨厌的问题,我似乎无法将手指放在上面。请帮助。

function check(){
run = false;
return run;
}

3 个答案:

答案 0 :(得分:0)

将您的功能重写为:

function check(event){
   event.preventDefault();
   run = false;
   return run;
}

要预设此处发送表单的默认功能。

答案 1 :(得分:0)

<form method="put">更改为<form method="put" onsubmit='return check();'>

<input type="submit" value="submit form" onclick="check()"><input type="submit" value="submit form">

然后,表格将对支票是否成功起作用。

答案 2 :(得分:0)

您的onclick事件必须包含“return”:

onclick =“return check();”

然后它会起作用。