21

我有一个 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>

非常感谢任何可以提供帮助的人!

4

3 回答 3

61
<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>

将动作更改为指向您的功能将以不同的方式解决问题。

于 2012-10-30T17:29:51.077 回答
10

您需要防止默认行为。您可以使用e.preventDefault()return false;在这种情况下,最好的是,您可以return false;在此处使用:

<form onsubmit="completeAndRedirect(); return false;">
于 2012-10-30T17:21:58.430 回答
1

看起来您的表单正在提交,这是默认行为,您可以通过以下方式停止它:

<form action="" method="post" onsubmit="completeAndRedirect();return false;">
于 2012-10-30T17:19:35.060 回答