Intereting Posts
Поиск min в столбце, где два других столбца равны нулю openssl_get_publickey () и завиток "невозможно использовать сертификат клиента" Кэширование переменных в переменной $ _SESSION? Как конвертировать любой тип видео в .mp4 с помощью phpvideotoolkit Обновление нескольких строк одним запросом Общая ошибка: 1008 OCIStmtExecute: ORA-01008: не все переменные связаны Функция ucfirst () для многобайтовых кодировок символов Laravel Chumper Datatable Получение данных в один файл данных из нескольких таблиц MySQL как преобразовать объект в строку в php как подсчитать посетителей сайта с помощью java-скрипта или php Как преобразовать строку запроса PHP в косой чертой? Запуск команды ремесленников навсегда с кузницей laravel? Отправить строку как файл с помощью curl и php как создать безопасную систему регистрации php, позволяющую использовать функцию «сохранить меня в системе»? Как включить заголовок авторизации в HTTP-запросе cURL POST в PHP?

Параметры формы фильтра перед отправкой

Есть ли способ проверить параметр, если он пустой или нет перед отправкой?

<form method="GET"> <input name="param1" value="test"/> <input name="param2" value=""/> <input type="submit" name="" id="search-submit" class="button" value="Submit"> </form> 

Если у меня есть что-то вроде этого. param2 пуст, поэтому, когда я нажимаю submit, он выглядит так

 link.com?param1=test&param2= 

так можно достичь чего-то подобного, когда параметр пуст. его не следует включать. как

 link.com?param1=test 

поскольку param2 пуст

Чистый javascript метод

 form.onsubmit=function(){ var arr=this.elements,i=0,l=arr.length; for(;i<l;i++){ if(arr[i].value===''){ arr[i].disabled=true; } } } 

Чтобы ответить на дальнейший вопрос OP

 function checkForm(){ var arr=this.elements,i=0,l=arr.length; for(;i<l;i++){ if(arr[i].value===''){ arr[i].disabled=true; } } } var arr=document.getElementsByTagName('form'),i=0,l=arr.length; for(;i<l;i++){ arr[i].onsubmit=checkForm; } 

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

// ПОЛНЫЙ КОД

// myFile.php

 <?php if(isset($_GET['get'])){ //validating: if($_POST['param1']==""||$_POST['param2']==""){ echo 'come on boy, insert a text'; }else{ echo 'ok i got it <hr />' .$_POST['param1'].'<br />' .$_POST['param2'].'<br />'; } }else{ ?> <script type="text/javascript" src="http://code.jquery.com/jquery-1.10.2.min.js"></script> <script src="http://malsup.github.com/jquery.form.js"></script> <script type="text/javascript"> $(document).ready(function(){ $('#idForm').ajaxForm({ beforeSend: function() { $('#response').html('Processing...').show(); }, error: function(xhr, ajaxOptions, thrownError) { $('#response').html('Error:<br />'+thrownError); }, success: function(response) { $('#response').html(response); } }); }); </script> <form method="POST" id="idForm" action="myFile.php?get=0"> <input name="param1" id="idParam1" value="test"/><br /> <input name="param2" id="idParam2" value=""/><br /> <input type="submit" name="" id="search-submit" class="button" value="Submit"><br /><br /> </form> <div id="response"></div> <?php } ?> 

Используя чистый javascript, это будет что-то вроде – (untested)

 var form = document.forms[0]; form.onsubmit=function(){ var inputs, index; inputs = document.getElementsByTagName('input'); for (index = 0; index < inputs.length; ++index) { if(inputs[index].value == ''){ form.removeChild(inputs[index]); } } } 

Используя jQuery, это будет что-то вроде – (untested)

 $('form').submit(function() { $('input').each(function(){ if($(this).val() == ''){ $(this).remove(); } }); }); 

вам нужно проверить, установлен ли параметр с помощью функции isset () в php
так :

 if ( isset($_GET['param2']) ) { //do some thing }... 

и в основном страница даст вам ошибку, потому что $ _GET не установлен на первом представлении;

поэтому измените код на ::

 if ( isset( $_GET['SUBMIT BUTTON'] ) ) { if ( isset ( $_GET['param2']) ) { //do some thing } } 

Фильтр перед отправкой:

 <form name="FOOO"> <input type="text" name="firsttt" value="blabla"> <tEXtarea> aaa</tEXtarea> <input type="text" name="Secondssssss" value="blabla2"> <input type="submit" onclick="return MyValidator('FOOO');"> </form> <script type="text/javascript"> function MyValidator(FORMNAMEE){ var inputs = document.forms[FORMNAMEE].getElementsByTagName("input"); for(var i = 0; i < inputs.length; i++) { alert(inputs[i].value); } var textareas = document.forms[FORMNAMEE].getElementsByTagName("textarea"); for(var i = 0; i < textareas.length; i++) { alert(textareas[i].value); } } </script>