2016-11-08 72 views
0

這可能是一個簡單的修復我只是沒有看到,但我想設置一個基本的交付區功能。如果您在送貨區,提交郵政編碼後會有一個提示說你已經在我們的區域,當你點擊確定後,它會將你帶到預訂頁面。否則,說他們在區外。我似乎無法獲得警報的預訂頁面上的onclick需求。 (附註:帶進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

是的,它只是重新加載當前的網頁,而不是帶你到預訂頁面 – 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

該功能目前運行,如果輸入有效的郵政編碼並單擊提交,彈出一個警告說其有效,問題是從那裏我想它帶他們到一個新的頁面,當點擊確定在警報。合理?我不認爲我們需要Ajax來完成 – KNages