2017-07-20 4 views
0

私は自分のウェブサイトに入れるためのフォームを作成しました。そのフォームで特定の文字列が送信された場合は、URLにリダイレクトしたいと思っていました。しかし、今では、文字列がフォーム内で検出された場合に即座にリダイレクトされ、その文字列が送信された場合にのみリダイレクトされます。この問題を解決するにはどうすればよいですか? "ボタン" に "提出" とonclickの= "MyFunctionを()" を追加し、また、ボタンのラベルを追加し特定の文字列が検出されたにもかかわらず、送信後にフォームが即座にリダイレクトされないようにするには?

<form method="POST" id="myform"> 
 
<textarea name="inputBox123" id="myTextarea" oninput="myFunction(this)"> 
 
</textarea> 
 
<input type="button" value="Submeter" onclick="myFunction()" /> 
 
</form> 
 

 
<script type="text/javascript"> 
 
function myFunction(val) { 
 

 
var testThis = document.getElementById("myTextarea").value; 
 

 
if (testThis.indexOf("launch") > -1) { 
 
window.location = 'http://www.cateto.weebly.com/benoit.html'; 
 
return false; 
 

 

 
} 
 

 
} 
 
</script>
から

<form method="POST" id="myform"> 
    <textarea name="inputBox123" id="myTextarea" oninput="myFunction(this)"> 
    </textarea> 
    <input type="submit" value="Submeter"/> 
</form> 

<script type="text/javascript"> 
    function myFunction(val) { 
    var testThis = document.getElementById("myTextarea").value; 
    if (testThis.indexOf("launch") > -1) { 
     window.location = 'http://www.cateto.weebly.com/benoit.html'; 
     return false; 
    } 
    } 
</script> 
+0

です。 ['onInput'](https://www.w3schools.com/jsref/event_oninput.asp)はユーザーが何かを入力に書き込むたびに実行されます。あなたの関数を呼び出すために、フォーム上でイベント['onSubmit'](https://www.w3schools.com/tags/ev_onsubmit.asp)を使うべきです。 – Proto

答えて

1

変更入力タイプ:ここで私が作ったコードがあります

+0

申し訳ありませんが、私はもう一度試してみました。ありがとう、あなたは私の一日を救った! –

0

タグにはjQueryが記述されています。そのため、セレクタを使用した回答があります。

event.preventDefault()

あなたがsubmitを使用することに恩義あるかもしれない状況では、トリガからデフォルトのイベントを停止します。

:ここ

$(document).on("submit", "form", function(event){ 
    event.preventDefault(); 
    //do other things... 
    return false; 
}); 

あなたは、文字列をテストするための良いイベントを使用していないnative javascript documentation for event.preventDefault().

関連する問題