Как разместить на 2 страницах с помощью кнопки или ссылки в HTML? - PullRequest
0 голосов
/ 05 ноября 2010

Привет, Друзья
у меня есть одна форма и две кнопки, а также несколько текстовых полей, что мне нужно, если я нажимаю кнопку 1, то детали в текстовом поле должны быть от POST до Page1.php, если я нажимаю Button2, детали в текстовом поле должны быть POST в Page2.php, у меня есть 8 текстовых полей, чтобы сделать в форме, как я могу это сделать?

Ответы [ 5 ]

2 голосов
/ 05 ноября 2010

PHP-решение будет:

<form action='' method='post'>
  <input name='inputText' /><br />
  <button value='1' name='whichOption'></button><br />
  <button value='2' name='whichOption'></button><br />
</form>

В верхней части страницы эта форма, поместите это:

<?php
  if(isset($_POST['whichOption']) {
    switch($_POST['whichOption']) {
      case 1: /* do something */ break;
      case 2: /* do something else */ break;
    }
  }
?>

«что-то» - это включение, набор переменных сеанса или все, что вам нравится.

2 голосов
/ 05 ноября 2010

Предположим, что у вашей кнопки один идентификатор btn1, а второй btn2 и имя формы frm, вы можете сделать что-то вроде этого:

var btn1 = document.getElementById('btn1');
var btn2 = document.getElementById('btn2');

btn1.onclick = function(){
  document.forms['frm'].action = 'page1.php'
  document.forms['frm'].submit(); // submit the form
};

btn2.onclick = function(){
  document.forms['frm'].action = 'page2.php'
  document.forms['frm'].submit(); // submit the form
};
0 голосов
/ 05 ноября 2010

Почему бы просто не использовать одну и ту же страницу? Когда мне нужно несколько вариантов отправки, я просто использую кнопки отправки с разными именами:

<input type="submit" name="submit-save" value="Save" />
<input type="submit" name="submit-delete" value="Delete" />

Когда мне нужно узнать, что это за действие, я просто проверяю, какие данные отправляются:

if(isset($_POST['submit-save']))
{
   //Do something
}
elseif(isset($_POST['submit-delete']))
{
   //Do something else
}
0 голосов
/ 05 ноября 2010
Html:
<input id="Button1" value="Button1" type="button" /><br />
<input id="Button2" value="Button2" type="button" /><br />
<textarea id="TextBox1" cols="40" rows="5"><br />
<textarea id="TextBox2" cols="40" rows="5">

jQuery:

function PostToPage(DOOMid,uri) {
    var vDOOMEl = $("#" + DOOMid);

    $.ajax({
        type: 'POST',
        url: uri,
        data: ({text : vDOOMEl.innerHTML}),
        success: function() {},
        dataType: "html"
    });
}

function init() {

    $('#Button1').click(function(e){
        PostToPage('TextBox1','Page1.php');
    });

    $('#Button2').click(function(e){
        PostToPage('TextBox2','Page2.php');
    });
}

window.onload=init;

PHP:

<?php
    //do something with $_POST['text'];
?>

Необходимо загрузить jQuery и использовать его для этого решения

0 голосов
/ 05 ноября 2010

Попробуйте это:

<input type="button" value="page1" onclick="this.form.action='Page1.php'; this.form.submit();" />
<input type="button" value="page2" onclick="this.form.action='Page2.php'; this.form.submit();" />
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...