2012-01-27 87 views
1

此提交按鈕在Safari和Chrome中都可以使用,但不能使用IE9或FF9。使用jQuery提交按鈕不能在IE9和FF9中工作

提交按鈕 -

<img type="submit" src="lib/send_feedback.jpg" border="0" class="feedback-submit-img" onClick="javascript: validate(); return false;"/> 

相關的jQuery -

// Submit form to next page 
function submitForm() { 
// document.forms["feedbackform"].submit(); 
    document.feedbackform.submit(); 
} 
// Submit form and validate email using RFC 2822 standard 
function validateEmail(email) { 
    // Modified version original from: http://stackoverflow.com/a/46181/11236 
    var re = /^(([^<>()[\]\\.,;:\[email protected]\"]+(\.[^<>()[\]\\.,;:\[email protected]\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/; 
    return re.test(email); 
} 
// Return true if email field is left unchanged 
function originalText(email){ 
    var defaultMsg; 
    defaultMsg = "Enter your email address (optional)"; 
    if(defaultMsg == email){ 
     return true;  
    } 
    return false; 
} 
// Verify or decline with error message 
function validate(){ 
    $("#result").text(""); 
    var email = $("#email").val(); 
    if ((validateEmail(email)) || originalText(email)) { 
     w.value = screen.width; 
     h.value = screen.height; 
     submitForm(); 
    } else { 
     $("#result").text(email + " is not a valid email."); 
     $("#result").css("color", "red"); 
    } 
    return false; 
} 
$("form").bind("submit", validate); 

也爲它的價值時,我改變了提交按鈕更基本保證其提交的隱藏字段,W和H假設更新沒有填寫。

Here is the entire code and the CSS

回答

3

type不是img標籤的有效屬性:https://developer.mozilla.org/En/HTML/Element/Img

相反,我想你想一個<input type="image" />標籤:https://developer.mozilla.org/en/HTML/Element/Input

<img type="submit" />沒有爲我無論是工作,但使用<input type="image" />做:http://jsfiddle.net/HXrNb/1/

然後,您可以只validate()功能綁定到submit事件形式:

$('form').on('submit', function() { 
    ... 
    if ((validateEmail(email)) || originalText(email)) { 
     ... 
     return true; 
    } else { 
     ... 
     return false; 
    } 
}); 
+0

衛生署!就是這樣,非常感謝你的協助。這個疏忽絕對是問題所在,我想Chrome和Safari正在糾正/補償這個錯誤。再次感謝您的幫助。 – Eric 2012-01-27 18:34:18