1

だから私はそれが提出する前にデータをチェックするためのスクリプトを備えた簡単なフォームを持っています:

<form action='self.php' name='my_form' method='post' onSubmit="return checkit();">
    <select name='menu' id='menu'>
        <option value='00'>ZERO</option>
        <option value='01'>ONE</option>
    </select>
</form>

詳細情報を要求するためのポップアップボックスまたはアラートボックスが必要です。ちょっと好き:

<script type="text/javascript">
function checkit()
{
    if(document.my_form.menu.value == "01")
    {
        var getColor = prompt("Enter Color: ", "enter the color");
        return false;
    }
</script>

次に、送信時に変数「getColor」をPHP変数に渡すにはどうすればよいですか?

ほぼ次のようなもの:

<?php
    $theColorIs = getColor;
?>

これを行う方法はありますか?PHPがサーバー側であり、スクリプトが送信されていないことは知っていますが、スクリプトがフォームを停止しているため、フォームは送信されていません。簡単なことのようですが、別のオプションはありますか?

助けてくれてありがとう!!!

4

2 に答える 2

0

フォームの非表示フィールドを使用して値を保存し、PHPを介して取得できます

htmlフォーム:

<form action='self.php' name='my_form' method='post' onSubmit="return checkit();">
<input type="hidden" value="" name="myhiddenfield" id="myhiddenfield" />
<select name='menu' id='menu'>
<option value='00'>ZERO</option>
<option value='01'>ONE</option>
</select>
</form>

スクリプト:

if(document.my_form.menu.value == "01")
{
   var getColor = prompt("Enter Color: ", "enter the color");
   document.getElementById('myhiddenfield').value = getColor;
}

したがって、フォームが送信されると、値は$_POST['myhiddenfield']に保存されます。

于 2012-06-16T01:56:01.153 に答える
0

フォームのアクションのクエリ文字列に値を追加できます。

<script type="text/javascript">
function checkit()
{
  if(document.my_form.menu.value == "01")
  {
    var getColor = prompt("Enter Color: ", "enter the color");
    document.my_form.action += "?color=" + getColor;
    return false;
  }
}
</script>

次に、次のように PHP コードで色を参照できます。

if( isset( $_GET['color'] )
{
  $theColorIs = $_GET['color'];
}
于 2012-06-16T16:50:53.347 に答える