所以我有一个简单的表单,其中包含一个脚本,可以在提交之前检查数据:
<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是服务器端而脚本不是,但是表单尚未提交,因为脚本会停止它。这似乎是一件简单的事情,还有另一种选择吗?
早点谢谢你的帮助!!!
答案 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'];
}