2012-11-12 50 views
0

我有一個接受電子郵件地址的模式表單,然後我驗證了這一點,並希望突出顯示電子郵件框如果無效。 ('background-color','red')不會做任何事情,我已經嘗試過駱駝case'backgroundColor',但是沒有任何區別。代碼正在通過else路徑'cos我得到。警告下面的代碼:

$("#dialog-form").dialog({ 
     autoOpen: false, 
     height: 300, 
     width: 350, 
     modal: true, 
     buttons: { 
      "Send": function() { 

       if (validateEmail($('#email').val())) 
       { 
       var datastr = 'name=' + $('#name').val() + '&email=' + $('#email').val() + '&enquiry=' + $('#enquiry').val() + '&recip=' + eMail; 

       $.ajax({ 
       type: "POST", 
       url: "email.php", 
       data: datastr, 
       cache: false, 
       success: function(html){ 
         alert ("Email has been Sent"); 
         } 
       }); 

       $(this).dialog('close'); 
       } 
       else 
       { 
       $('#email').css('background-color','red'); 
       alert('Your Email Address is invalid'); 
       } 
      }, 
      Cancel: function() { 
       $(this).dialog('close'); 
      }}, 
     close: function() { 
      $(this).dialog('destroy'); 
     } 
    }); 

這裏的形式:

<div id="dialog-form" title="Contact Computer Rep" style="display: none"> 
<form> 
    <div tal:condition="data/userlevel"><span>Your Name:</span><span tal:content="data/displayname"></span><br /> 
     <span>Your Email Address:</span><span tal:content="data/mail"></span> 
    </div> 
<fieldset> 
    <span tal:condition="not: data/userlevel"> 
    <label for="name">Your Name</label> 
    <input type="text" name="name" id="name" value="" class="text ui-widget-content ui-corner-all" /> 
    <label for="email">Your Email Address</label> 
    <input type="text" name="email" id="email" value="" class="text ui-widget-content ui-corner-all" /> 
    </span> 
    <label for="enquiry">Your Enquiry</label> 
    <input type="text" name="enquiry" id="enquiry" value="" class="text ui-widget-content ui-corner-all" /> 
</fieldset> 
</form> 

+3

你確定$('#email')實際上解決了什麼嗎?請張貼您的html標記! – arkascha

+0

那麼......它應該工作。一旦沒有改變 - 嘗試檢查是否沒有樣式重載你的值,並檢查'​​$('#email')'是否找到任何東西('$('#email')。length!= 0')。另外,你的其他分支是否被執行? –

+0

我知道$('#email')可以解決某些問題,因爲無效的電子郵件會觸發警報... –

回答

1

jQuery瞭解background-colorbackgroundColor。嘗試使用RGB值,而不是red如:

$('#email').css('background-color', '#f00'); 
+0

這沒有什麼區別 –

0

你可以驗證電子郵件是你的電子郵箱的ID。 你也可以嘗試把$('#email').css({'background-color': 'red'});

+0

還檢查沒有其他風格重寫電子郵件框樣式。 – mrityunjay