javascript - 如何只读设置用户尝试填充数据的输入旁边的所有输入?

标签 javascript php jquery html ajax

如何设置readonly除了用户尝试填充数据的输入之外的所有输入?


当用户加载页面时 index.php并尝试将数据填充到 EG:<input id="edValue2" ...> ,我想将除 <input id="edValue2" ...> 之外的所有输入设置为只读

但是我的代码不起作用,我该怎么办?

index.php

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<html>
<body>

<form id="form-id" method="post" action="" ENCTYPE = "multipart/form-data" onsubmit="return checkform(this);">
<?PHP
    for ($i=1;$i<=5;$i++)
        {
?>
            <input id="edValue<?PHP echo $i; ?>" type="text" onKeyUp="send_it_register_to_hidden_input<?PHP echo $i; ?>()" onKeyPress="send_it_register_to_hidden_input<?PHP echo $i; ?>()"><br>
<?PHP
        }
?>
    <br>
    <br>
    <br>
    <input type="text" id="lblValue" value="">
    <input type="text" id="lblValue_number" value="">
</form>
</body>



<?PHP
    for ($i=1;$i<=5;$i++)
        {
?>
            <script>
            function send_it_register_to_hidden_input<?PHP echo $i; ?>()
                {
                    lblValue.value = $("#edValue<?PHP echo $i; ?>").val();                    
                    lblValue_number.value = <?PHP echo $i; ?>; 

                    Check_register_it();
                }
            </script> 
<?PHP
        }
?>   





<script>
function Check_register_it()
   {
       $('#form-id input').attr('disabled','disabled'); //disable all
       $(this).removeAttr('disabled'); //enable the one that triggers the event
   }
</script> 




</html>

最佳答案

我强烈建议不要创建那样的函数。它只会让你的代码变得复杂。在这种情况下使用 classes 这样您就不需要为要操作的每个 id 设置函数:

<body>
<form id="form-id" method="post" action="" ENCTYPE = "multipart/form-data" onsubmit="return checkform(this);">
<?PHP for ($i=1;$i<=5;$i++) { ?>
    <input class="input_boxes" type="text" data-i="<?php echo $i; ?>"><br/>
<?PHP } ?>
    <br>
    <br>
    <br>
    <input type="text" id="lblValue" value="">
    <input type="text" id="lblValue_number" value="">
</form>
</body>

<script src="//ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script>
$('.input_boxes').on('keyup', function(e){
    var value = $(this).val();
    var i_val = $(this).attr('data-i');
    $('#lblValue').val(i_val);
    $('#lblValue_number').val(value);
    $('input').prop('readonly', true);
    $(this).prop('readonly', false);
});
</script>

关于javascript - 如何只读设置用户尝试填充数据的输入旁边的所有输入?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26181692/

相关文章:

javascript - 如何覆盖/扩展 Chrome 的 JavaScript 中的 ReferenceError?

jquery 通过数据值设置选定选项

javascript - 如何将控制权从 php 脚本返回到我的主页?

javascript - 我可以在 Bootstrap 弹出窗口中使用动态内容吗?

jquery通过分配给单个元素的命名空间解除绑定(bind)多个事件

页面加载代码上的 Javascript 使其重新加载 chrome 扩展

javascript - 元素的 clientWidth 为 0 除非我用 css 设置它

javascript - 单击按钮时从代码隐藏调用 Javascript 函数

javascript - 如何使用 ES6 HOF Javascript 在数组中查找重复对象(所有键值对应该相同)

php - Zend Framework - 共享 View 脚本路径(全局部分)