php - 表单提交 - 预验证使 IE 失效

标签 php mysql html

背景:我正在开发的网站顶部有一个搜索栏。用户输入产品的零件代码,网站就会返回有关该产品的信息。

因此,我有一个基本的搜索栏,它将 HTML 表单中的参数发布到 PHP 脚本中,然后在 MySQL 服务器上进行查找以获取产品。

问题是因为某些部分代码有“#”字符,我必须使用Javascript插入转义字符,否则我只能得到PHP脚本中的部分代码。

示例 - 123#ABC 将被读取为 123。

我在表单中使用了一个隐藏值,该值由文本框值填充,并由 Javascript 中的 escape() 函数修改。

这是我目前的代码,它适用于除 IE 之外的所有浏览器。

任何帮助将不胜感激:)

<script language="jscript">
    function changeTextBox()
    {
        hiddenSearch.value = escape(txtSearch.value);
        formSearch.submit;
    }
</script>

<form id="formSearch" name="Search" action="?page=search" method="post">
    Search by <u>Part Code</u> or <u>Description</u>
    <input id="txtSearch" type="text" size="35">
    <input id="hiddenSearch" name="Search" type="hidden">
    <input name="Submit" onclick='jscript:changeTextBox();' type="submit" value="Submit">
</form>

最佳答案

看看变化——我认为你的 JavaScript 有问题。

   <script language="jscript">
        function changeTextBox()
        {
            document.getElementById("hiddenSearch").value = escape(document.getElementById("txtSearch").value);
            this.submit();
        }
    </script>

<form id="formSearch" name="Search" action="?page=search" method="post" onsubmit='changeText()'>
    Search by <u>Part Code</u> or <u>Description</u>
    <input id="txtSearch" type="text" size="35">
    <input id="hiddenSearch" name="Search" type="hidden">
    <input name="Submit"  type="submit" value="Submit">
</form>

关于php - 表单提交 - 预验证使 IE 失效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7320043/

相关文章:

php - 通过 PHP exec 运行高性能 C 程序

mySQL结构/关系思路

html - iOS - 将 HTML 转换为普通文本

html - Div 与 YouTube 视频并排对齐

php - single-product.php 打不开

javascript - 如何使用Ajax获取文件上传百分比?

javascript - 将用户输入永久发布到网页

mysql - 创建存储函数时出现语法错误

css - 隐藏默认的 css 按钮

Php脚本不检查mysql表中的用户名值