2016-11-08 13 views
0

これは私が見ていない簡単な修正かもしれませんが、基本的な配信ゾーン機能をセットアップしようとしています。あなたが配達地域にいる場合は、郵便番号を提出した後、あなたが私たちのゾーンにいると警告が表示され、OKをクリックすると、予約ページに移動します。そうでなければ、彼らはゾーンの外にいると言う。私は、予約ページにかかるアラートのオンクリック要求を得ることができないようです。あなたの問題はクリックでページを更新submitボタンがあるように(P.S. Squarespaceに持ち込ますべてjavacript)のコメントからJavaScriptが新しいウェブサイトの警告を表示するonclick

<script type="text/javascript"> 

function IsValidZipCode() { 

    var zip = document.getElementById('txtZip').value; 
    var ZipArray = ["60543", "60188"]; 
    var isValid = ZipArray.indexOf(zip); ; 
    (isValid); 
    if (isValid >= 0){ 
     alert ('Nice! go ahead and book!') 
     // NEED TO LINK TO NEW WEBPAGE 
     return true; 

    } 
    else { 
     alert('Sorry, we do not offer delivery here at this time'); 
     return false; 
    } 
} 
</script> 
<form> 
Please Enter Zip Code: <input id="txtZip" name="zip" type="number" /> 
<input onclick="IsValidZipCode()" id="Button" type="submit" value="Submit"/> 
</form> 
+2

あなたはコメントがどこにある 'window.location.href =」yoururl.com''を入れてみましたか? – Kolby

+0

はい、単に予約ページを表示するのではなく、現在のWebページをリロードします – KNages

+0

これは送信ボタンなので送信します。これを防ぐには、イベント処理関数の最後に 'falseを返す 'ことができます。この場合、HTMLの 'action'属性を省略したので、同じページに投稿しています。しかし、実際には、あなたはAJAXの実践に入るべきです。 – PHPglue

答えて

0

は、それが聞こえます。これを防ぐには、e.preventDefaultを使用する必要があります。ここで

<input onclick="IsValidZipCode(event)" id="Button" type="submit" value="Submit"/> 

function IsValidZipCode(event) { 
    if (isValid >= 0){ 
     event.preventDefault; 
     alert ('Nice! go ahead and book!') 
     window.location.href = 'yoururl.com' 
    } 
} 

は良い参考です:preventDefault inside onclick attribute of a tag

https://jsfiddle.net/yLyvt30y/

+0

まだ動作していないようです。送信ボタンを通常のボタンに変更する必要がありますか? – KNages

+0

私はちょうどこのようにそれについて行くことは、フォームが提出されることを許可しないことに気づいた。これは、フォームの検証後にバックエンドで行う必要があります。また、AJAXを使用してフォームを送信することもできます。 – Kolby

+0

有効な郵便番号が入力され、送信がクリックされた場合、その機能は現在実行されています。有効であることを示すアラートが表示されます。そこから問題が発生します。アラートのOKをクリックすると新しいページに移動します。理にかなっている?私は完了するためにAjaxが必要だとは思わない – KNages

関連する問題