与我昨天的问题有关:我的两个单选按钮将在变化时改变价格:
<form id="f-p" method="post" action="forms.php">
<label for="exkl">Exkl. moms</label>
<input name="moms" id="exkl" type="radio" value="exkl" checked="checked" onClick="javascript:thisWorks();"/>
<label for="inkl">Inkl. moms</label>
<input name="moms" id="inkl" type="radio" value="" onClick="javascript:thisWorks();"/>
</form>
我打算使用这个PHP:
if ($_POST["moms"] = "exkl") {
echo "Nothing.";
} else if($_POST["moms"] = "inkl") {
$inkl_query ="SELECT `product_id` FROM `cms_module_products_fieldvals` WHERE `fielddef_id`=4";
$iresult = mysql_query($inkl_query);
while ($row = mysql_fetch_row($iresult)) {
var_dump($row);
$inkVal = $row->value;
echo $InkVal;
}
}
用这个jQuery发布值:
function thisWorks() {
$.ajax({
data: $('form#f-p').serialize() + "&formSubmit=true",
type: "POST",
url:"forms.php",
success: function() {
tar = $('form#f-p').serialize();
alert(tar);
}
});
}
$('input[name=moms]').change(thisWorks);
thisWorks();
现在,我正在从Jquery中获得带有张贴值的警报,因此它们正在那里工作。它要么显示"moms=inkl"要么显示"moms=exkl"。我不知道这是不是问题所在。但是它们在PHP中不起作用。我没有得到mySQL查询。页面被加载,任何值的改变都不会对PHP处理表单的方式产生任何影响。这是怎么呢
有个问题:
if ($_POST["moms"] = "exkl") {
echo "Nothing.";
} else if($_POST["moms"] = "inkl") {
你的if
语句总是true
,因为$_POST["moms"] = "exkl"
不检查等式。它只是让$_POST["moms"]
等于"exkl"
。else if
也一样。
修改代码:
if ($_POST["moms"] = "exkl") {
echo "Nothing.";
} else if($_POST["moms"] = "inkl") {
到此代码:
if ($_POST["moms"] == "exkl") {
echo "Nothing.";
} else if($_POST["moms"] == "inkl") {
看看会发生什么