2014-02-19 2 views
0

У меня есть форму, где пользователь может добавить новых людей в список. Мне нужно это только для того, чтобы форма могла обновляться, если заполнены необходимые поля.ColdFusion, представляющая форму

Мой текущий код работает в Chrome или FireFox, но не с Safari. В Chrome и FireFox он не будет отправлять форму, если поля не заполняются. Однако Safari позволяет пользователю отправлять форму, даже если она оставлена ​​пустой.

Есть ли другой способ написать код, чтобы он работал со всеми тремя браузерами? Ниже приведен небольшой код для некоторых необходимых полей.

<cfform 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> 
<tr> 
    <td> 
     Client Name 
     <span style="color:red">*</span> 
     <input type="Text" name="ClientName" value="" required="Yes" message="Client Name is required" maxlength="75" class="inputText430"> 
    </td> 
</tr> 
<tr> 
    <td> 
+2

предупреждение: вы не хотите нажимать 'request.DSN' по ссылке. Вам также не хватает большого количества вашего кода. И последнее, но не менее важное: 'action =" ## "нужно заменить чем-то, что ответит на форму при ее отправке –

+0

Самый простой способ достижения вашей цели - использовать cfform и cfinput. –

+0

если я изменяю до чем когда я отправлю форму, она позволит мне без заполнения каких-либо полей на всех разных веб-браузерах – user3182314

ответ

2

Звучит так, как будто вы ищете проверку на стороне сервера. Я, конечно же, проверял бы клиентскую сторону, используя Javascript и THEN, чтобы это было со стороны сервера.

Несмотря на советы по разумному смыслу, избегайте CFINPUT и CFFORM, если можете (Мое мнение может отличаться от других). Вы получите гораздо большую гибкость/переносимость, используя библиотеку на стороне клиента, такую ​​как JQuery, и придерживаетесь простых полей формы HTML Джейн (шаги с подиума).

Учитывая, что в качестве отправной точки вы будете придерживаться проверки на стороне сервера, существует метод проверки старой формы «старой школы» с использованием скрытых полей со специально сформированными атрибутами имени. Это должно решить вашу проблему. Этот метод очень хорошо описан в the documentation.

-Через!

Смежные вопросы