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 回答