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

この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 に答える
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

でボタンの値を取得することはできません。取得する$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 に答える