检查在输入框中输入的值是否等于某个值

时间:2018-03-24 13:04:41

标签: javascript php jquery

我从php $value $field动态生成了$value = 'mango';$field='user_username'。我现在需要检查输入标识user_username中输入的文本是否是芒果。

<input type="text" class="input-text um-field " name="user_username" id="user_username" placeholder="">

类似的东西:

<?php
$value = 'mango';
$field = 'user_username';
<script>
    $(document).ready ( function(){
       var value = $("#<?php echo $field;?>").val();
       if(value === '<?php echo $value;?>') {
          alert('hi');
       } 
    });​
</script>
?>

3 个答案:

答案 0 :(得分:1)

您可以检查blur上的值,因为在脚本开头调用了$(document).ready()。此外,您必须在编写JavaScript之前关闭PHP标记:

<?php
$value = 'mango';
$field = 'user_username';
?>

<input type="text" class="input-text um-field " name="user_username" id="user_username" placeholder="">

<script>
    $(document).ready(function(){
       $("#<?php echo $field;?>").bind('blur', function(){
           var value = this.value;
           if(value === '<?php echo $value;?>') {
              alert('hi');
           }
       });
    });
</script>

答案 1 :(得分:1)

根据我的评论,您的脚本仅将输入字段的值在运行时与PHP变量进行比较。只要用户更新输入字段,JavaScript就不会自动执行比较 - 您必须将事件处理程序绑定到输入元素,以便在触发时重新调用逻辑来执行检查:

$(document).ready (function(){
    var $field = $("#<?php echo $field;?>");
    var expectedFieldValue = '<?php echo $value;?>';

    $field.on('change', function() {
        if ($(this).val() === expectedFieldValue) {
            alert('hi');
        }
    });
});​

有时候,如果你正在执行这样一个简单的逻辑,那么使用jQuery可能会有点笨拙。上述代码也可以在原生JS中重写,适用于现代的常绿浏览器:

document.addEventListener('DOMContentLoaded', function () {
    var fieldElement = document.getElementById('<?php echo $field;?>');
    var expectedFieldValue = '<?php echo $value;?>';

    fieldElement.addEventListener('change', function () {
        if (fieldElement.value === expectedFieldValue) {
            alert('hi');
        }
    });
});

答案 2 :(得分:1)

更好的方法是将所需的字段加载到某个js变量中然后进行比较。

这是大致如何工作

$(document).ready(function(){
    $("button").click(function(){
        $.get("demo_test.php", function(data, status){
            var server_data=data;
        });
    });
});

然后将其与所需的字段进行比较

 $(document).ready ( function(){
       var value = $("#<?php echo $field;?>").val();
       if(value === server_data) {
          alert('hi');
       } 
    });​

希望有所帮助