2014-02-24 89 views
1

我有一個表單,它有必填字段,除非您填寫所需的項目,否則它不會提交表單,它適用於谷歌瀏覽器和Firefox,但在Safari瀏覽器中不起作用。爲什麼是這樣,現在做任何人如何使表格無法提交的地方,除非填寫需要的項目。這只是少量的代碼。正在提交表格

<form method="post" action="##" name="aForm" id="addClientForm" class=""> 
    <input type="hidden" name="method" value="clientAdd"> 
    <input type="hidden" name="datasource" value="<cfoutput>#request.dsn#</cfoutput>"> 
    <input type="hidden" name="Active" value="1"> 

    <div style="float:left;" class="formContent470"> 
     <table border="0" cellspacing="0" cellpadding="5"> 
     <tr> 
     <th colspan="" style="text-align:left;">Add Client</th> 
     </tr> 
      <tr><cfoutput> 
       <td> 
       Contact 
        <span style="color:red">*</span> 
       <input type="Text" name="Contact" value="" required="Yes" message="Contact is required" maxLength="75" class="inputText430"> 
       </td> 
      </tr> 

這裏是jQuery代碼,應該讓它工作,我相信。

$(document).ready(function() { 
    $("#addClientForm").validate(); 
     rules: { 
      Contact: { 
       required: true 
      }, 
      ClientName: { 
       required: true 
      }, 
      ClientLogin: { 
       required: true 
      }, 
       ClientPassword: { 
       required: true 
      }, 
      Email: { 
       required: true 
      } 
     }, 
}); 

謝謝,任何幫助表示讚賞。

+0

您是否在jquery之前將您的鏈接標記添加到jquery插件(驗證)? – htatche

+1

嗨你提供的JavaScript是無效的。你能提供小提琴嗎? – Qpirate

+0

是的,我有鏈接標籤上面的jQuery – user3182314

回答

0

這是使其適用於所有瀏覽器的好方法。

function hasHtml5Validation() { 
    return typeof document.createElement('input').checkValidity === 'function'; 
    } 

if (hasHtml5Validation()) { 
    $('.addClientForm').submit(function (e) { 
     if (!this.checkValidity()) { 
      e.preventDefault(); 
     $(this).addClass('invalid'); 
     $('#status').html('invalid'); 
    } else { 
     $(this).removeClass('invalid'); 
     $('#status').html('submitted'); 
    } 
}); 
} 
<p>Status: <span id="status">Unsubmitted</span></p> 
1

您可以使用HTML5中的必需屬性來強制填寫字段。沒有JavaScript需要。

<input type='text' required name='surName'> 
+0

林不知道如果我遵循我相信我已經在上面的代碼中需要它我已經發送到需要這將是任何不同 – user3182314

2

該代碼有錯誤sintax ..我把params規則的方法驗證。在你的例子中,你放棄了方法的參數。

$(document).ready(function() { 
    $("#addClientForm").validate({ 
     rules: { 
      Contact: { 
       required: true 
      }, 
      ClientName: { 
       required: true 
      }, 
      ClientLogin: { 
       required: true 
      }, 
       ClientPassword: { 
       required: true 
      }, 
      Email: { 
       required: true 
      } 
     } 
    }); 
});