2015-09-04 81 views
-1

我正在使用免费的博客模板,并有可能提交一些信息的表单。有些是可选的,一些是必需的。这需要发送电子邮件的护理工作的一段代码是如何避免预防默认

$('#send-order').click(function(e) { e.preventDefault(); passEmail() }); 

和passEmail仅仅是这个

function passEmail() { 
    simpleCart({ 
     checkout: { 
      type: "SendForm", 
      method: "POST", 
      extra_data: { 
       firstname: document.getElementById("first_name").value, 
       lastname: document.getElementById("last_name").value, 
       email: document.getElementById("email").value, 
       phone: document.getElementById("phone").value, 
       address: document.getElementById("address").value, 
       postcode: document.getElementById("postcode").value, 
       comments: document.getElementById("message").value 
      } 
     } 
    }); 
    simpleCart.checkout(); 
}; 

function cleanUrl(url) { 
    return url.replace(/^https?\:\/\//i, "") 
}; 

function storeUrl() { 
    return $(location).attr('hostname') 
} 
simpleCart.bind('beforeCheckout', function (data) { 
    data.first_name = document.getElementById("first_name").value; 
    data.last_name = document.getElementById("last_name").value; 
    data.phone = document.getElementById("phone").value; 
    data.email = document.getElementById("email").value; 
    data.address = document.getElementById("address").value; 
    data.postcode = document.getElementById("postcode").value; 
    data.comments = document.getElementById("message").value; 
}); 

有办法绕过preventDefault()方法,以使电子邮件不经过验证过程?

+0

验证过程在哪里发生? – Jack

+0

@JackPattishall我认为验证是以某种方式在提供模板的人的计算机上进行的。只要你尝试发送它而没有填写所有必填字段,就会得到如下警告:“www.xyz.com上的页面显示:...”其中xyz是创建模板的人的页面。我想没有办法绕过它吗? – user2692552

回答

0

e.preventDefault()在这种情况下看起来像是因为#send-order<a>或更可能是提交按钮<input type="submit"/>。您可以将#send-order设为可点击<div>。我不知道这会允许你绕过虽然验证...

UPDATE

有时候,我觉得它更容易使用一个快速和肮脏的非语义<div>按钮:

<div id="send-order" style="cursor: pointer; pointer-events: auto;">SEND</div> 

我敢肯定,你可以使用<button id="send-order">SEND</button>没有默认行为期望从它afaik。

+0

我试图将id =“send-order”的按钮更改为div,但是没有任何更改令人遗憾。 – user2692552

+0

@ user2692552我更新了答案。顺便说一句,当你将该ID分配给一个新的按钮时,确保你删除了其他的ID。如果具有相同ID的同一页面上有两个或更多元素,则脚本将失败,否则会得到意外的结果。 – zer00ne