Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/447.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
按Enter Won';t提交表单-Javascript_Javascript_Forms_Enter - Fatal编程技术网

按Enter Won';t提交表单-Javascript

按Enter Won';t提交表单-Javascript,javascript,forms,enter,Javascript,Forms,Enter,我正在建立一个基本的网站,我希望用户能够输入一个“关键字”,将他们重定向到一个特定的页面。不同的关键字将重定向到不同的页面 例如,苹果将重定向到Apple.com(只是一个例子,不在我的网站上) 我在另一个网站上找到了另一个人的Javascript(见下文)。除了一个小细节外,它几乎完美无瑕——用户必须单击按钮才能进行重定向。按enter键不起作用。我尝试过将输入类型改为“提交”而不是“按钮”,但还是没有成功。有人有什么建议吗 <script type="text/JavaScript"&

我正在建立一个基本的网站,我希望用户能够输入一个“关键字”,将他们重定向到一个特定的页面。不同的关键字将重定向到不同的页面

例如,苹果将重定向到Apple.com(只是一个例子,不在我的网站上)

我在另一个网站上找到了另一个人的Javascript(见下文)。除了一个小细节外,它几乎完美无瑕——用户必须单击按钮才能进行重定向。按enter键不起作用。我尝试过将输入类型改为“提交”而不是“按钮”,但还是没有成功。有人有什么建议吗

<script type="text/JavaScript">
<!--
function Login(){
var done=0;
var keyword=document.enter_keyword.keyword.value;
//keyword=keyword.toLowerCase();
if (keyword=="toms") { window.location="http://www.toms.com"; done=1; }
if (keyword=="apple") { window.location="http://www.apple.com"; done=1; }
if (keyword=="orange") { window.location="http://www.orange.com"; done=1; }
if (done==0) { alert("WARNING:Incorrect keyword you plonker!!!"); }
}
//-->
</script> 

</head>

<body>

<form name=enter_keyword>
<table border="1" cellpadding="2" cellspacing="2" bgcolor="#7B97E0">
<tr>
<td>
<font color="#ffffff"><b>Enter keyword:</b></font>
</td>
<td><input type=text name=keyword>
</td>
</tr>
<tr>
<td colspan=2 align=center>
<input type=button value="Login!" onClick="Login()">
</td>
</tr>
</table>
</form>

输入关键字:

这很正常。您在单击事件中调用了函数。要做到这一点,您必须收听表单上的“onSubmit”事件。你应该用提交而不是按钮。

这很正常。您在单击事件中调用了函数。要做到这一点,您必须收听表单上的“onSubmit”事件。您应该放置提交而不是按钮。

此功能将在按下
enter
时触发按钮的
click
事件

$("input[name=keyword]").keyup(function(event){
    if(event.keyCode == 13){
        $("input[type=button]").click();
    }
 });

此功能将触发按下按钮的
点击事件
enter

$("input[name=keyword]").keyup(function(event){
    if(event.keyCode == 13){
        $("input[type=button]").click();
    }
 });

如果您可以使用jquery,请使用以下命令

$(document).ready(function() {
  $(window).keydown(function(event){
    if(event.keyCode == 13) {
      event.preventDefault();
      return false;
    }
  });
});
否则就用这个 我将表单设置为onsubmit=“return false”,并执行了以下操作

<input type="button" value="Submit" onClick="document.Survey.submit()" style="font-size: 1.25em;">

如果您可以使用jquery,请使用以下命令

$(document).ready(function() {
  $(window).keydown(function(event){
    if(event.keyCode == 13) {
      event.preventDefault();
      return false;
    }
  });
});
否则就用这个 我将表单设置为onsubmit=“return false”,并执行了以下操作

<input type="button" value="Submit" onClick="document.Survey.submit()" style="font-size: 1.25em;">

它需要单击,因为调用函数的唯一对象是输入
onClick
事件。摆脱
onClick=“Login()”
并在
中更改
type=“submit”
,并将
onSubmit=“Login()”
添加到


输入关键字:

它需要单击,因为调用函数的唯一对象是输入
onClick
事件。摆脱
onClick=“Login()”
并在
中更改
type=“submit”
,并将
onSubmit=“Login()”
添加到


输入关键字:

在表单中使用
onsubmit
事件属性:

<form name="enter_keyword"  onsubmit="Login()">


保留按钮的输入类型=提交。

在表单中使用
onsubmit
事件属性:

<form name="enter_keyword"  onsubmit="Login()">
$(document).ready(function() {
 $("input[name=keyword]").keydown(function(event) {

                if ( event.keyCode == 13)
                 {
                        //do something
                 }

            });
});


保留按钮的输入类型=提交。

尝试更改此行:

$(document).ready(function() {
 $("input[name=keyword]").keydown(function(event) {

                if ( event.keyCode == 13)
                 {
                        //do something
                 }

            });
});

为此:

并将onSubmit添加到表单中:


这是我喜欢的方式,对我来说总是很有效。

尝试更改这行:

为此:

并将onSubmit添加到表单中:


这是我喜欢的方式,它总是对我有用。

如前所述,问题是您依赖于
onClick
事件来触发javascript函数,因此需要单击

此外,在文本字段中按“Enter”键以触发表单提交的行为取决于以下情况之一:

  • 只有一个文本字段,或
  • 表单上某处的
    (或者可能是
    等)
(关于该特定行为及其原因的更详细讨论可在此处找到:)

由于表单中只有一个文本字段,因此按enter键时,它会正确触发
submit
操作;因此,您需要使用表单的
onSubmit=
属性捕获表单的
submit()
事件(或者,也可以使用jQuery或其他javascript代码将相同的事件处理程序添加到表单中。jQuery方式有一些优点,但实际上在这方面是等效的)


输入关键字:

如前所述,问题在于您依赖于
onClick
事件来触发javascript函数,因此需要单击

此外,在文本字段中按“Enter”键以触发表单提交的行为取决于以下情况之一:

  • 只有一个文本字段,或
  • 表单上某处的
    (或者可能是
    等)
(关于该特定行为及其原因的更详细讨论可在此处找到:)

由于表单中只有一个文本字段,因此按enter键时,它会正确触发
submit
操作;因此,您需要使用表单的
onSubmit=
属性捕获表单的
submit()
事件(或者,也可以使用jQuery或其他javascript代码将相同的事件处理程序添加到表单中。jQuery方式有一些优点,但实际上在这方面是等效的)


输入关键字: