Как включить и отправить форму с помощью диалога «Экспромт» - PullRequest
1 голос
/ 14 августа 2011

Как правильно включить и отправить форму на страницу PHP через jquery impromptu.

В настоящее время я делаю:

<script>
  var someform = '<form method="post" action="my.php" id="myform">
  Enter your name<br />
  <input name="name" /><br />
  What's your favorite color?<br />
  <select name="color">
    <option>red></option>
    <option>blue</option>
  </select><br />
  Tell us more about that<br />
  <textarea name="comments"></textarea>
  <input type="hidden" name="submit" />
  </form>';

  function callback_form(v,m,f){

    if(v == 1)
    {
  $('#myform').submit();
      location.reload();
    }
    else
    {
      $.prompt.close()
    }
  }
</script>

В html, когда я его вызываю, форма отображает и обновляет страницу, но не отправляет.

<a href="#" onclick="$.prompt(someform,{ callback: callback_form, buttons: { Cancel: 0, Add: 1 },focus: 1 });">Launch Form</a>

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

Ответы [ 3 ]

1 голос
/ 14 августа 2011

Вы должны быть в состоянии отправить форму через ajax, например:

$.post('my.php',f,function(data,status,xhr){
    //do something here
});
1 голос
/ 15 августа 2011

Я понял это;спасибо за помощь!

По-видимому, мне нужно было изменить обратный вызов, чтобы отправить

$.prompt(someform,{ callback: callback_form

на $.prompt(someform,{ submit: callback_form).Когда я ссылался на поведение отправки вместо вызова функции, все работало так, как должно.

1 голос
/ 14 августа 2011

То есть, потому что вы перезагружаете страницу во время отправки.Если вы отправите форму, ваша страница перейдет на «my.php», поэтому вам не нужна функция «location.reload ()».

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...