提交HTML表单,执行javascript函数(alert然后重定向)

时间:2012-10-30 16:52:12

标签: javascript html forms submit

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

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

3 个答案:

答案 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;">