Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   button и переход к php-обработчику (https://javascript.ru/forum/jquery/51871-button-i-perekhod-k-php-obrabotchiku.html)

Эдди 23.11.2014 13:37

button и переход к php-обработчику
 
При нажатии на кнопку <button> проверяются поля формы на заполненность/корректность.
Если все правильно, не соображу, как перейти к php-скрипту с сохранением пост переменных, который в форме очень много?
Ну, чтобы <button> сработал как <input type=submit.
Вот пример:
$('#search').click(function ()
{
if(!variable.value)
{
alert('error');
}
else
{
//Вот здесь нужен переход к php скрипту
}

danik.js 23.11.2014 14:06

Добавь атрибут type=submit
А сразу после alert'а отменяй отправку формы, дописав return false;

Эдди 23.11.2014 14:24

alert('error');return false;

Здесь все ясно. А type submit не соображу, как добавить.
Я все больше по php работаю.

danik.js 23.11.2014 14:31

Не тупи )
<button type="submit">...

Эдди 23.11.2014 14:32

Тьфу ты. Реально ступил. А я подумал в jquery. :) как?
СПАСИБО!

Эдди 23.11.2014 15:43

danik.js пожалуйста, помоги в последнем.
Прошли все else if
Проверили, что все в порядке.
Как перейти в обработчик php?
Редирект разве сохранит все переменные пост формы?
Как перейти в скрипт php?

else
{
Как здесь перейти в скрипт php с сохранением всех данных формы?
}
Спасибо.

danik.js 23.11.2014 18:30

Цитата:

Сообщение от Эдди
Как перейти в скрипт php?

<form name="bla" action="script.php" method="POST">
<button type="submit">Отправить</button>
</form>
<script>
document.forms.bla.onsubmit = function(e) {
    if (!false) {
        alert('Куда ссука! Заполни все поля!');
        return false;
    }
};
</script>

Эдди 24.11.2014 08:17

Спасибо :)

Эдди 14.12.2014 15:08

Цитата:

Сообщение от danik.js (Сообщение 342514)
<form name="bla" action="script.php" method="POST">
<button type="submit">Отправить</button>
</form>
<script>
document.forms.bla.onsubmit = function(e) {
    if (!false) {
        alert('Куда ссука! Заполни все поля!');
        return false;
    }
};
</script>

Все это прекрасно и работает отлично.
Но у меня еще вопрос по этой теме.

Суть: Есть форма выбора различных параметров, выводимая ajax|jquery.
По нажатию кнопки button надо под формой вывести результаты в списке.
Если делать через отдельный php-скрипт в отдельном файле и снова переходить на страницу с формой, возникают сложности с пометкой/выбором в форме (а форма сложная) ранее выбранных значений.
А как сделать так, чтобы при нажатии на button type=submit, после проверки на заполненность и корректность полей, вызвать тем же аяксом php-обработчик и вывести результаты под формой без перезагрузки страницы?
И что при этом должно содержаться в <form action="...?
$('#search').click(function (e)
    {
      if(!variable.value)
      {
        alert('Заполните обязательное поле!..');
        return false;
      }
      else
      {
        //Вот здесь надо включить скрипт аякс, чтобы переменные формы были доступны в php
      }
    });

Вот так правильно будет? Или я начудил с чем-то...
else
      {
         $("form:first").submit(function() {
          a=form_variable1.value;
          alert(a); //просто для проверки наличия переменной

          //И дальше поехали аяксом получать из обработчика php данные для вывода под формой
          //... ... ...

          return false;
          });
      }

В этом случае в теге button даже не обязательно писать type="submit". Ведь так?
И тогда return false отовсюду убрать?


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