onkeyup jquery函数无法正常工作

时间:2013-10-11 11:33:28

标签: javascript jquery html wordpress

我正在使用javascrpt验证文本框并在用户输入0到9,A到F之间的数字时显示警告。我看到下面的代码在jsfiddle以及php小提琴上运行正常。但是当我在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

2 个答案:

答案 0 :(得分:4)

Wordpress将您的单引号(')转换为某个unicode。

这就是为什么你的代码不能在wordpress中工作。

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

并更改

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

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

希望它有所帮助...

答案 1 :(得分: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("");
    });
});