2013-03-31 2 views
1

У меня есть форма, то есть это одинотправить форму (получить) данные только если поле выполнено (не проверка)

<form method="get" action="<?php bloginfo('url'); ?>"> 
    <input name="date-beginning" type="text" class="datepicker" /> 
    <input name="date-end" type="text" class="datepicker" /> 
    <input name="s" type="text" /> 
    <input type="submit" value="Ok" class="botao-pequeno botao-pequeno-input" /> 
</form> 

Ну, когда пользователь отправляет все поля, мы получаем такой ответ: http://myblogurl.com/?s=example&date-beginning=05/05/05&date-end=07/07/07

Если он не заполняет, например date-beginning поле мы получаем http://myblogurl.com/?s=example&date-beginning=&date-end=07/07/07

То, что я хочу, что если он не заполняет поле, например date-beginning, форма все еще быть отправлены, но вар iable не отправлять, например: http://myblogurl.com/?s=example&date-end=07/07/07

Есть ли способ сделать это? Как?

+2

Нет, нет простой задачей, но проверить это: http://www.servicenowguru.com/scripting/ business-rules-scripting/hide-empty-variables-standard-form/ – Guy

+0

Эта * * * еще проверка. Просто вместо того, чтобы препятствовать отправке формы, вы удаляете элемент формы, а затем отправляете. –

ответ

3
var form = document.forms[0]; 
form.addEventListener('submit', function(){ 
    var a = document.getElementsByName('date-beginning')[0]; 
    if(a.value === '') 
     a.disabled = true; 
}); 
+0

Пример скрипки: http://jsfiddle.net/kfZDk/ –

+0

Он работает, спасибо – steps

+0

@ JoãoPauloApolinárioPassos Добро пожаловать :) – karaxuna

0

karaxuna's anwser works. Я просто адаптировать его к JQuery, если кто-то заинтересован, это код

$("#the-form").submit(function() { 
     if($('#the-field').val() === ''){ 
      $('#the-field').attr('disabled',true); 
     } 
     if($('#the-other-field').val() === ''){ 
      $('#the-other-field').attr('disabled',true); 
     } 
    }); 
Смежные вопросы