将表单验证值传递给php

时间:2012-06-16 01:48:56

标签: php javascript forms variables

所以我有一个简单的表单,其中包含一个脚本,可以在提交之前检查数据:

<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是服务器端而脚本不是,但是表单尚未提交,因为脚本会停止它。这似乎是一件简单的事情,还有另一种选择吗?

早点谢谢你的帮助!!!

2 个答案:

答案 0 :(得分: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']中

答案 1 :(得分: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'];
}