我正在尝试从HTML表单传递一个值。基本上,我在表单中有一个文本框,表单发布到它自己。我用这个来检查优惠券代码是否有效。如果我在文本字段中输入一个有效的优惠券并按下键盘上的enter键,它会调用页面(发布到同一页面),传递文本框中的值,但不会应用折扣。但是,如果我输入了一个有效的优惠券代码,而不是按键盘上的enter键并按下submit按钮,它将调用页面并传递该值,优惠券代码就会被设置
我使用了一些调试工具来捕获正在发送的内容,它通过POST发送值。
这似乎只是IE中的一个问题。FIREFOX、CHROME和其他浏览器运行良好。我尝试了IE8和IE7,但都不起作用。
我认为,无论我是按enter键还是使用submit按钮,它都应该应用折扣。有没有人知道我可以做些什么来纠正这个错误,并让它在IE中工作?该页面使用HTML和PHP编码。
发布于 2011-11-30 03:28:15
在表单中添加一个隐藏字段,如
<input type="hidden" name="submitted" value=1>然后在您的页面上,如果按下了submit按钮,则不执行代码,而是检查是否
$_POST['submitted']==1发布于 2011-11-30 03:33:41
我将假设您的输入是type="image"。不管出于什么不好的原因,IE只发送图片点击提交的坐标,而不是它的值。因此,"enter“键永远不会给你在IE中提交图像的值。解决方案是将其更改为type="submit"并为其提供背景图像,或者在表单中放置一个隐藏输入以指示提交。
发布于 2011-11-30 03:36:33
一些示例代码会很好,但同时,您是否尝试过转储$_Post?
<?php
print_r($_Post);
?>这将返回一个包含表单中提交的所有内容的数组,因此您可以了解它所期望的内容。
另外,你是如何计算折扣的?需要考虑的不是重新提交整个页面,而是查看AJAX HTTPRequest
然后,您可以让他们输入代码,点击查找按钮,页面将其传递到另一个页面,在那里完成计算,然后将值返回到第一个页面。这样一来,你甚至不需要重新加载所有的东西,而且看起来流畅多了。
https://stackoverflow.com/questions/8316524
复制相似问题