2014-02-24 50 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 
      } 
     } 
    }); 
});