0

我正在使用 javascrpt 验证文本框并在用户输入 0 到 9、A 到 F 以外的数字时显示警告。我看到下面的代码在 jsfiddle 和 php fiddle 上都可以正常工作。但是当我在 wordpress 网站上添加它时,它不起作用

<div class="input-resp-hpux-vbus"><span><input  class="textbox" id="vbus-id" name="vbus-id" type="text" /></span></div>
<div id="output"></div>
<script type="text/javascript" src="http://127.0.0.1:4001/wordpress/wp-content/themes/freshlife/includes/js/emcsaninfo-symcli.js"></script>

和javascript代码:

$(document).ready(function () {
    $('#vbus-id').keyup(function () {
        var text_value = document.getElementById("vbus-id").value;

       if (!text_value.match(/\b[0-9A-F]\b/gi)) {
            document.getElementById("vbus-id").value = "";
            //  document.getElementById("vbus-id").focus(); 
            var message = "You have entered a invalid id.Vbus id ranges         from 0 to F in hexadecimal";
            document.getElementById("output").innerHTML = message;
        }
        else
             document.getElementById("output").innerHTML ="";
    });
});

不知道为什么这个脚本不能在我的 wordpress 上运行,我的网站上有 v jquery 版本 1.10.1 小提琴设置: JSFIDDLE PHPFIDDLE

4

2 回答 2

4

Wordpress 将您的单引号 (') 转换为一些 unicode。

这就是为什么您的代码无法在 wordpress 中运行的原因。

在您的 javascript 代码中使用双引号 (")。

和改变

 $('#vbus-id').keyup(function () {

 $("#vbus-id").keyup(function () {

希望能帮助到你...

于 2013-10-11T12:05:51.857 回答
0

有任何错误吗?确保 jQuery 被加载一次,你的脚本也被加载。在你的浏览器中调用这个 url 来检查一切是否正确:

http://127.0.0.1:4001/wordpress/wp-content/themes/freshlife/includes/js/emcsaninfo-symcli.js

为什么你在 keyup 函数中打开 Plain JS,你可以像这样继续使用 jQuery:

$(document).ready(function () {
    $('#vbus-id').keyup(function () {
        var $this = $(this);
        var $output = $("#output");
        var text_value = $this.val();
        var message = "You have entered a invalid id.Vbus id ranges from 0 to F in hexadecimal";

       if (!text_value.match(/\b[0-9A-F]\b/gi)) {
            $this.val("");
            $output.html(message);
        }
        else
            $output.html("");
    });
});
于 2013-10-11T11:55:42.437 回答