我正在尝试从HTML表单中传递一个值。基本上我在表单中有1个文本框,表单发布到自身。我用它来检查优惠券代码是否有效。如果我在文本字段中输入有效的优惠券并点击键盘上的回车键,则会调用该页面(发布到同一页面),在文本框中传递值但不应用折扣。但是,如果我输入有效的优惠券代码,而不是点击键盘上的回车键并点击提交按钮,则会调用该页面并传递价值和优惠券代码设置
我使用了一些调试工具来捕获正在发送的内容,并通过POST发送值。
这只是IE中的一个问题。 FIREFOX,CHROME和其他浏览器工作得很好。我同时试过IE8和IE7,而且不会工作。
我认为无论是按Enter键还是使用提交按钮,它仍应该应用折扣。有没有人有任何想法我可以改变以纠正这个并使其在IE中工作?这个页面用HTML和PHP编写。
答案 0 :(得分:1)
在表单中添加隐藏字段,例如
<input type="hidden" name="submitted" value=1>
然后在您的页面上,如果按下提交按钮,而不是执行代码,请检查是否
$_POST['submitted']==1
答案 1 :(得分:0)
我将假设您的输入为type="image"
。无论什么不道德的原因,IE只发送图像的坐标点击提交而不是其值。因此,“输入”键永远不会为您提供IE中提交图像的值。解决方案是将其更改为type="submit"
并为其提供背景图像,或者在表单中添加隐藏的输入以指示提交。
答案 2 :(得分:0)
一些示例代码会很好,但与此同时,您是否尝试过转储$ _Post?
<?php
print_r($_Post);
?>
这将返回表单中提交的所有内容的数组,这样您就可以了解它的期望。
另外,你如何计算折扣?
需要考虑的是,不是重新提交整个页面,而是考虑AJAX HTTPRequest
然后,您可以让他们键入代码,点击查找按钮,然后页面将其传递到另一个计算完成的页面,然后将值返回到第一页。这样你甚至没有重新加载所有东西的麻烦,它看起来更顺畅。