我正在使用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
答案 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("");
});
});