我有一个包含3个字段的简单表单。用户,身份证,电子邮件。 我有2个PHP数组$ user& $ ID
当用户在name或id字段中输入name时,我希望各个php数组检查,如果名称或id在数组中,则更改它们当前所在输入框的背景颜色。
如果他们更新了条目,那么检查应该继续,如果没有找到匹配,则将背景恢复为原始的白色。
如果他们清空输入字段,那么颜色应该变回白色。
页面可能预先加载了值,因此我可能会在初始加载时使用php更改背景颜色。
我发现了这个,它适用于它的数组中的指定字符:
$('input').bind("change keyup", function() {
var val = $(this).val();
var regex = /["<>&]/g;
if (val.match(regex)) {
$(this).css("background", "red");
val = val.replace(regex, "");
$(this).val(val);
}
$("p").html(val);
});
我已经尝试更新它以支持php数组,但它不起作用,我不知道如何让它检查数组并恢复颜色。
这是我到目前为止所做的:
谢谢:)
更新
我使用以下方法解决了这个问题:
$(function(){
$('input').bind("change keyup", function() {
var val = $(this).val();
if ($(this).attr('id')=="user") {
var check = <?php echo json_encode($user)?>;
} else {
var check = <?php echo json_encode($id)?>;
}
if ($.inArray(val, check) != -1) {
$(this).css("background-color", "red");
} else {
$(this).css("background-color", "white");
}
});
});
但是有更简洁的方式来写这个吗?
谢谢:)
答案 0 :(得分:1)
如果你想在javascript中使用你的php数组,你可以这样做:
var myArray = <?php echo json_encode($myArray) ?>;
并执行javascript魔术