Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   jQuery Form и несколько Submit (https://javascript.ru/forum/jquery/4926-jquery-form-i-neskolko-submit.html)

Maxim 30.08.2009 23:28

jQuery Form и несколько Submit
 
Есть такая задача, к примеру имеются (без подробностей):
<?php
$submit1 = $_REQUEST["submit1"];
$submit2= $_REQUEST["submit2"];
?>
<form id='myForm' name='newsform' action='form.php' method='get'>
<ul>
<li><input class='a' type='checkbox' name='b' value='$a' />текст-1</li>
<li><input class='a' type='checkbox' name='b' value='$b' />текст-2</li>
<li><input class='a' type='checkbox' name='b' value='$c' />текст-3</li>
</ul>
<input name='submit1' id='submit1' type='submit'  value='Delete' class='submit' />
<input name='submit2' id='submit2' type='submit'  value='Edit' class='submit' />
</form>

и скрипт:
<script type="text/javascript">
$(document).ready(function(){
  var options = { 
  	target: "#output",
    beforeSubmit: showRequest, 
    success: showResponse, 
    timeout: 3000 
  };
  $('#myForm').submit(function() { 
    $(this).ajaxSubmit(options); 
    return false;
  }); 
});
function showRequest(formData, jqForm, options) { 
    var queryString = $.param(formData); 
    return true; 
} 
function showResponse(responseText, statusText)  { 
}
</script>


Проблема такая: если посылать запрос без ajax в form.php, то отправленные name submit1 и submit2 определяются в url как Delete и Edite соответственно. Но если использую jQuery Form то все элементы определяються нормально кроме submit name (и value разумеется)

Подскажите пожалуста как можно решить эту проблему с jQuery Form. Заранее спасибо )

Urfin 31.08.2009 00:00

Поставте рядом с кнопкой <input type="hidden"> с параметрами кнопки, тогда эти параметры войдут в $_REQUEST[]. Хотя когда две разных кнопки рядом, это сложнее. Как то надо продумывать. В общем я обычно пользуюсь скрытыми полями в такой ситуации.

e1f 31.08.2009 01:50

А можно просто использовать ajaxForm() вместо ajaxSubmit() -- отличие как раз в том, что добавляется нажатый submit и координаты клика, если submit был image. Главное -- установите всем сабмитам name, чтобы они были "successful control"

Maxim 31.08.2009 15:00

Спасибо именно так и сделал, использовал ajaxForm() работает :)


Часовой пояс GMT +3, время: 02:30.