2016-11-08 33 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