2013-12-10 2 views
0

У меня есть HTML с тремя ссылками и формой и тремя скриптами PHP: send1.php, send2.php, send3.php.Одна форма с несколькими действиями отправки

  <a id="" name="signup1" href="#signup" >1-Send form one</a> 
      <a id="" name="signup2" href="#signup" >2-Send form two</a> 
      <a id="" name="signup3" href="#signup" >3-Send form three</a> 

      <div id="signup"> 
       <form action="send_form_x.php">      
        <input id="" name="" type="text"> 
        <button type="submit">Send</button> 
       </form> 
      </div> 

Сначала пользователь нажимает на одну из трех ссылок, чтобы показать и заполнить форму. Когда он нажимает кнопку «отправить», я хочу, чтобы форма html вызывала правильное действие в соответствии с нажатой ссылкой. Если пользователь нажимает «2-Отправить форму два», send2.php должен быть выполнен, если он нажимает «3-Отправить форму три», тогда необходимо отправить send3.php. Я не хочу писать форму для каждой ссылки, как этого добиться, пожалуйста?

+0

Вы должны сделать это, чтобы использовать JavaScript. Вы знаете JavaScript? –

+0

@Diodeus Я новичок в javascript, как я могу это сделать, используя чистый JavaScript, пожалуйста? –

+0

JS можно отключить, я бы сам использовал серверную часть. Это более эффективно. Создавайте отдельные функции. –

ответ

0

Трудно сказать, не зная, что вы пытаетесь сделать.

Самый простой способ - добавить еще один параметр в форму и отправить форму на 1 страницу php, которая вызывает одну из трех других страниц в зависимости от значения этого параметра.

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

0

Возможно, вы можете отправить 3 раза используя AJAX? Вот простой учебник, в котором jQuery отправляет 1 форму: http://vimeo.com/1392589.

ли это в 3 раза:

$("form").on("submit", function() { 
    $.ajax(...) // do the ajax call 1 
    $.ajax(...) // do the ajax call 2 
    $.ajax(...) // do the ajax call 3 
}) 
0

Вы можете использовать Javascript для проверки которых ссылка была нажата

<a id="" name="signup1" href="#signup" onclick="testFunction(signup1)>1-Send form one</a> 
<a id="" name="signup2" href="#signup" onclick="testFunction(signup2)>2-Send form two</a> 
<a id="" name="signup3" href="#signup" onclick="testFunction(signup3) >3-Send form three</a> 
     <div id="signup"> 
      <form action="send_form_x.php"> 
       <input id="clickedLink" type="hidden"> 
       <input id="" name="" type="text"> 
       <button type="submit">Send</button> 
      </form> 
     </div> 

//JavaScript    
function testFunction(signup){ 
document.getElementById("clickedLink").value = signup; 
} 
Смежные вопросы