[英]Why doesnt my website sub url working when submitting form but works when i manually enter it
[英]Why is my form submitting when I hit enter on a textbox?
HTML:
<form name="prints" method="post" action="">
<input type="text" name="quantity_914" id="quantity_914" value="1" style="width:20px;" onblur="prints_change_quantity(event, this);" onkeyup="return prints_change_quantity(event, this); return false;" />
</form>
Javascript:
function prints_change_quantity(e, element)
{
var pid = element.id.replace('quantity_');
var code = (e.keyCode ? e.keyCode : e.which);
if("blur" == e.type || ("keyup" == e.type && code == 13))
{
e.preventDefault();
console.log(element.value);
}
return false;
}
取消按键事件不会阻止提交表单。 您需要改用按键或按键。
使用按键事件而不是使用keyup。
<form action="#">
<input type="text" name="txt" onkeypress="handle" />
</form>
<script>
function handle(e){
if(e.keyCode === 13){
alert("Enter was pressed was presses");
}
return false;
}
</script>
如果您要使用现有功能而不希望提交表单,则可以使用jquery并阻止表单与现有功能一起提交。
$(document).ready(function(){
$("#prints").submit(function (e) {
e.preventDefault(); // this will prevent from submitting the form.
});
});
我在表单中添加了打印ID,或者您可以使用名称选择器或其他选择器...
另外,如果您希望能够在某个时候提交表单,则可以在表单上添加一个用于按键的jquery处理程序,如果返回键将其取消,则可以。
$('#prints').keypress(function(e){
if ( e.which == 13 ) e.preventDefault();
});
默认情况下,当您按Enter进入html表单时会触发keyDown
事件。 每当将事件附加到onkeyUp
属性时,表单都会执行Enter键操作并提交表单,因为它没有任何效果,但是,如果您明确指定onkeyDown
事件,则return prints_change_quantity(event, this);
被调用,因此表单不会被提交。 更改您的html代码以调用JavaScript函数,如下所示:
<form name="prints" method="post" action="">
<input type="text" name="quantity_914" id="quantity_914" value="1" style="width:20px;" onblur="prints_change_quantity(event, this);" onkeydown="return prints_change_quantity(event, this); return false;" />
</form>
希望这可以帮助。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.