HTML提交按钮分支

时间:2012-10-16 12:06:31

标签: php html submit

在一系列网络表单上,用户需要能够向前和向后移动。但是我想处理表格而不管他们走向哪个方向。

按钮具有“提交”的名称和“返回”和“下一步”的值。我如何解释该值? 这不起作用: - )

if(isset($_POST[$submit['back']])) { header('location: ../pages/create_page1.php'); } 
if(isset($_POST[$submit['next']])) { header('location: ../pages/create_page3.php'); } 

4 个答案:

答案 0 :(得分:1)

您无法使用$submit获取按钮值,它应为$_POST['submit']。 你可以试试这个脚本。

<?php
if(isset($_POST['next'])) {
    $submit = 'Next button was clicked.';
    // header(...);
} elseif(isset($_POST['back'])) {
    $submit = 'Back button was clicked.';
    // header(...);
} else {
    $submit = '';
}
?>

<form action="" method="post">
    <p>Click...</p>
    <input type="submit" name="back" value="Back"/>
    <input type="submit" name="next" value="Next"/>
</form>

<br/><?=$submit;?>

或者在评论中使用相同的按钮名称和箭头:

<?php
if(isset($_POST['submit']) && $_POST['submit'] == 'next') {
    $submit = 'Next button was clicked.';
    // header(...);
} elseif(isset($_POST['submit']) && $_POST['submit'] == 'back') {
    $submit = 'Back button was clicked.';
    // header(...);
} else {
    $submit = '';
}
?>

<form action="" method="post">
    <p>Click...</p>
    <input type="image" name="submit" src="http://cdn4.iconfinder.com/data/icons/brightmix/128/monotone_arrow_left_small.png" value="back"/>
    <input type="image" name="submit" src="http://cdn4.iconfinder.com/data/icons/brightmix/128/monotone_arrow_right.png" value="next"/>

</form>

<br/><?=$submit;?>

答案 1 :(得分:1)

尝试使用jquery:

$('#some_button').click(funnction(){
    var $Data = $('#some-data-input').val(); 
    if($Data.length > 0){ // or some else
        window.location.href = "../pages/create_page3.php";
    } else {
       // other action
    }
});

答案 2 :(得分:1)

该字段的名称称为submit,因此您需要检查该字段是否已提交以及其值是什么:

 if ( isset($_POST['submit]') && $_POST[submit] == 'back' )

但是,您没有使用提交按钮,而是使用服务器端图像映射,因此可能未提交该值(取决于浏览器)。

相反,您需要为字段指定不同的名称,然后检查是否为这些字段发送了坐标。

<input type="image" name="submit_back" src="../images/arrows/back_50.png" width="121" height="50" border="0" alt="Back" />

 if ( isset($_POST['submit_back_x']) )

答案 3 :(得分:1)

试试这个javascript函数......

<script language=javascript>
function redirect()
{   
 if(document.value=="Next")
    {
            document.form.action="next.php";
    }
    else if(document.value=="Back")
    {
            document.form.action="back.php";
    }
    return true;
} 
</script>

<form method="post" name=form onsubmit='return redirect();'>
    <p>Click...</p>
    <input type="submit" name="back" value="Back"/>
    <input type="submit" name="next" value="Next"/>
</form>