Форма с несколькими вариантами отправки. PHP - PullRequest
1 голос
/ 29 декабря 2011

У меня есть страница формы HTML со следующим кодом:

<form action="chainresult.php" method="post" enctype="multipart/form-data" />
      <input type="hidden" name="MAX_FILE_SIZE" value="3145728"/>
      <input type="file" name="userfile" id="userfile" size="30" />
      <input type="submit" value="GET SEQUENCE" />
</form>

<form action="helix_info.php" method="post" enctype="multipart/form-data" />
      <input type="hidden" name="MAX_FILE_SIZE" value="3145728"/>
      <input type="file" name="userfile" id="userfile" size="30" />
      <input type="submit" value="GET HELIX INFO" />
 </form>

Моя страница имеет две опции просмотра и две опции отправки, которые используются для двух страниц php. Я хочу иметь только одну опцию просмотра с двумя опциями, которая переводит пользователя на 2 разные страницы php в зависимости от того, что пользователь нажимает.

Любая помощь приветствуется!

Ответы [ 4 ]

1 голос
/ 29 декабря 2011

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

Однако можно было бы использовать JavaScript. В этом случае вы можете объединить обе формы, оценить входные данные перед отправкой какой-либо информации и опубликовать данные по разным URL-адресам в зависимости от входных данных, используя AJAX.

Стоит отметить, что, перейдя по пути JavaScript, вы сделаете форму непригодной для всех, кто отключил JavaScript.

Вероятно, я бы посоветовал вам сделать его единой формой, указав URL-адрес, который может обрабатывать любой случай. Таким образом, вы всегда публикуете данные на один и тот же URL, и серверный код должен будет оценить входные данные и решить, что с ними делать. В этом случае вы не исключаете пользователей, у которых не активирован JavaScript.

0 голосов
/ 29 декабря 2011

Не уверен, правильно ли я понял вопрос, но вы можете использовать jQuery, чтобы изменить атрибут action вашей формы, в зависимости от того, что выберет пользователь.Что-то из строк:

<form id="myform" action="dummy.php" method="post" enctype="multipart/form-data" />
      <input type="hidden" name="MAX_FILE_SIZE" value="3145728"/>
      <input type="file" name="userfile" id="userfile" size="30" />
      <input type="radio" name="formtype" value="uploadscript1.php" /> Option 1<br>
      <input type="radio" name="formtype" value="uploadscript2.php" /> Option 2<br>
      <input type="submit" value="GET HELIX INFO" />
 </form>

А в jQuery:

$('input[name="formtype"]').change(function(){
    $('#myform').attr('action', $(this).attr('value'));
});

Я не уверен насчет части jQuery, но она должна работать нормально.Попробуйте поэкспериментировать с этим.:)

Используя этот подход, вы сможете отправлять одинаковые данные в две разные формы.

0 голосов
/ 29 декабря 2011

Вы можете отправить несколько форм, но вам придется использовать Javascript.Это должно быть выполнимо с JQuery без большого количества пота и слез.Что-то вроде ...

$("#my-submit-button").click(function(){
   $("#first-form").submit();
   $("#second-form").submit();
})
0 голосов
/ 29 декабря 2011

Вам нужно будет объединить две формы в одну (вам даже не нужны теги формы), использовать JavaScript или jQuery для захвата нажатия кнопки отправки, оценки входного значения на основе ваших правил проверки, которые маршрутизируют форму отправьте, а затем отправьте значения в форму, вероятно, через ajax.

...