2014-10-02 2 views
0

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

<form action="data.php"> 
name<input type="text" name="name" required> 
std<input type="text" name="name" required> 
class<input type="text" name="name" required> 
<input type="submit" name="submit" value="submit"> 
<input type="reset" name="reset" value="clear"> 
<input type="save" name="save" value="save"> 
</form> 

в этом данного коде нужного поле Шоуда оповещать только тогда, когда я нажимаю на представить й не предупрежу о щелчке Сохранить это каким-либо образом Возможное

+1

Я думаю, вы можете сделать это легко с помощью AJAX. Поэтому вам не нужно добавлять требуемые. выполните проверку с помощью jquery и сделайте то же самое в php. Кнопка Submit всегда будет проверять с обязательными полями и возвращает ошибку, если она оставлена ​​пустой. – Arun

+1

AFAIK, 'type =" save "' недействителен – Phil

ответ

0

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

Вот как это будет выглядеть в Javascript с использованием JQuery:

<form id="your_form" action="data.php"> 
name<input type="text" name="name" is_required> 
std<input type="text" name="name"> 
class<input type="text" name="name" is_required> 
    <br /> 
<input type="submit" name="submit2" value="submit"> 
</form> 
<input type="submit" name="submit" value="submit with check"> 

var ok; 
$('[name=submit]').on('click', function(e) { 
    ok = true; 
    $('[is_required]').each(function() { 
     if (!$(this).val()) ok = false; 
    }); 
    if (!ok) { 
     alert("Please fill in all the required fields"); 
    } else 
     $("#your_form").submit(); 
}); 

Вы можете увидеть этот код в действии здесь: http://jsfiddle.net/z9dkjdtz/

0

Используйте атрибут formnovalidate в кнопке указать, что стандартная проверка формы HTML5 (например, проверка того, что все поля required имеют значение) будет подавлена:

<input type="submit" name="save" value="save" formnovalidate> 

Примечание: type="save" недействителен и игнорируется, так что элемент создаст ввод текста (с type="text" по умолчанию).

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