我有一个JavaScript函数,当我通过'onClick'方法调用它时效果很好。 基本上它的作用是从html表单中提取数据,然后根据该数据重定向到另一个页面。
然而,当我按下“回车”按钮提交表单/调用JavaScript函数,而不是使用onClick按钮来调用JavaScript函数时,它不会像我希望的那样响应。
我希望当用户按下键盘上的输入按钮时,同样的事情发生就好像他们点击页面上的“继续按钮”(通过onClick调用该功能)
这是我的代码:
JS功能:
function completeAndRedirect(){
alert('You\'re nearly there! To complete your entry, you simply need to tap \'continue\' on the next page. Good luck!');
location.href='http://google.com/?SID='+'<? echo $CATEGORY; ?>'+','+'<? echo $PLATFORM; ?>'+','+'<? echo $DEVICE; ?>'+'&email='+document.forms[0].elements[0].value;
}
以下是表格:
<form action="" method="post" onsubmit="completeAndRedirect()">
<input type="text" id="Edit1" style="width:280; height:50; font-family:'Lucida Sans Unicode', 'Lucida Grande', sans-serif; font-size:22px">
</form>
非常感谢任何可以提供帮助的人!
答案 0 :(得分:56)
<form action="javascript:completeAndRedirect();">
<input type="text" id="Edit1"
style="width:280; height:50; font-family:'Lucida Sans Unicode', 'Lucida Grande', sans-serif; font-size:22px">
</form>
将动作更改为指向您的功能将以不同的方式解决问题。
答案 1 :(得分:9)
您需要阻止默认行为。您可以使用e.preventDefault()
或return false;
在这种情况下,最好的是,您可以在此使用return false;
:
<form onsubmit="completeAndRedirect(); return false;">
答案 2 :(得分:1)
看起来您的表单正在提交哪个是默认行为,您可以使用以下命令停止:
<form action="" method="post" onsubmit="completeAndRedirect();return false;">