1

ユーザーが特定のページにリダイレクトする「キーワード」を入力できるようにする基本的なサイトを構築しています。異なるキーワードは、異なるページにリダイレクトされます。

たとえば、Apple は Apple.com にリダイレクトします (私のサイトではなく単なる例です)。

別の Web サイトで、別の人の Javascript を見つけました (以下を参照)。1 つの細かい点を除いて、ほぼ完璧に機能します。ユーザーは、リダイレクトを行うためにボタンをクリックする必要があります。エンターキーを押してもダメ。入力タイプを「ボタン」ではなく「送信」に変更しようとしましたが、それでもうまくいきません。誰かアドバイスはありますか?

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

8 に答える 8

2

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

またはこれを使用します

$("#form").submit( function (e) {
    e.preventDefault(); ...}
于 2013-01-29T06:35:03.150 に答える
2

関数を呼び出すのは入力onClickイベントだけなので、クリックが必要です。あなたを取り除き、あなたonClick="Login()"に変えtype="submit"て、あなた<input>に加えonSubmit="Login()"てください<form>

<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 onSubmit="Login()">
<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=submit value="Login!">
</td>
</tr>
</table>
</form>
于 2013-01-29T06:37:00.563 に答える
0

フォームでevent属性を使用onsubmitします。

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

入力タイプを保持=ボタンの送信。

于 2013-01-29T06:39:55.790 に答える
0
$(document).ready(function() {
 $("input[name=keyword]").keydown(function(event) {

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

            });
});
于 2013-01-29T06:40:03.770 に答える
0

この行を変更してみてください:

<input type="button" value="Login!" onClick="Login()">

これに:

<input type="submit" value="Login!">

フォームにonSubmitを追加します。

<form name="enter_keyword" onSubmit="Login();">

これは私がこれを行うことを好む方法であり、それは常に私のために働きます。

于 2013-01-29T06:40:58.497 に答える
0

clickこの関数は、ボタンを押すとイベントをトリガーしますenter

$("input[name=keyword]").keyup(function(event){
    if(event.keyCode == 13){
        $("input[type=button]").click();
    }
 });
于 2013-01-29T06:35:02.843 に答える
0

まあ、それはかなり正常です。クリック イベントで関数を呼び出しました。これを行うには、フォームの「onSubmit」イベントをリッスンする必要があります。また、ボタンの代わりに送信を配置する必要があります。

于 2013-01-29T06:32:02.303 に答える