0

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

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

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

4 回答 4

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;?>
于 2012-10-16T12:21:55.167 回答
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
    }
});
于 2012-10-16T12:25:46.667 回答
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']) )
于 2012-10-16T12:27:09.823 回答
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>
于 2012-10-16T12:32:14.827 回答