通过Javascript禁用文本字段
我有一个输入HTML页面,其中包含文本字段和一个用于禁用该输入字段的复选框 这是用于禁用通过Javascript禁用文本字段,javascript,html,Javascript,Html,我有一个输入HTML页面,其中包含文本字段和一个用于禁用该输入字段的复选框 这是用于禁用.js文件中的文本字段的JavaScript代码。value将字段名传递给复选框 function disable_input_field(value){ if ($("#undefined_" + value).is(":checked")) { document.getElementById("undefined_" + value).
.js
文件中的文本字段的JavaScript代码。value
将字段名传递给复选框
function disable_input_field(value){
if ($("#undefined_" + value).is(":checked")) {
document.getElementById("undefined_" + value).disabled = true;
document.getElementById(value).value = '??';
}else{
$("#" + value ).prop("disabled", false);
document.getElementById(value).value = '';
}
}
在输入HTML页面中,这是HTML代码和js代码
<tr>
<td >data</td>
<td colspan="3">
<input type="text" id="data_value" name="data_vale" size="50"value='<?php echo $data?>'>
</td>
<td colspan = "3">
<?php
if($check_data != ''){?>
<input type="checkbox" checked name="undefined_data" id="undefined_data" onclick="disable_input_field('data')" >disable
<?php }else{?>
<input type="checkbox" name="undefined_data" id="undefined_data" onclick="disable_input_field('data')" >disable
<?php }?>
<input type="hidden" name="data" id="data">
</td>
</tr>
<tr>
在控制器中
if ($this->input->post('data') == 'disabled') {
$data['check_data'] = 'data';
}
但禁用文本字段不起作用。请在这方面帮助我。看起来您正在禁用复选框而不是文本框。将代码更改为:
function disable_input_field(value){
if ($("#undefined_" + value).is(":checked")) {
document.getElementById("undefined_" + value).disabled = true;
document.getElementById(value).value = '??';
}else{
$("#" + value ).prop("disabled", false);
document.getElementById(value).value = '';
}
致:
看起来您正在禁用复选框而不是文本框。将代码更改为:
function disable_input_field(value){
if ($("#undefined_" + value).is(":checked")) {
document.getElementById("undefined_" + value).disabled = true;
document.getElementById(value).value = '??';
}else{
$("#" + value ).prop("disabled", false);
document.getElementById(value).value = '';
}
致:
例如,可以为元素设置禁用属性
document.getElementById('data_value').setAttribute('disabled ', 'disabled');
例如,可以为元素设置禁用属性
document.getElementById('data_value').setAttribute('disabled ', 'disabled');
您已经在下面的行中使用了ID“check_data”,我在指定的HTML中没有看到“check_data”元素。这可能是根本原因,其他代码似乎没有问题
if(document.getElementById('check_data').value == 'data'){
您已经在下面的行中使用了ID“check_data”,我在指定的HTML中没有看到“check_data”元素。这可能是根本原因,其他代码似乎没有问题
if(document.getElementById('check_data').value == 'data'){
您正在jquery中引用
检查\u数据
$(document).ready(function() {
if(document.getElementById('check_data').value == 'data'){
disable_input_field('data');
}
}
但是你还没有制作元素
我还使用它来禁用控件,所以我想这可能会有所帮助:)
$(文档).ready(函数(){
$(文档).on('change','check1',函数(e){
如果($(this).is(':checked')){
$('#input1').addClass('disabled-control');
}
其他的
{
$('#input1').removeClass('disabled-control');
}
});
});代码>
。禁用控件{
不透明度:0.4;
光标:不允许;
指针事件:无;
}
禁用jquery中引用的检查数据
$(document).ready(function() {
if(document.getElementById('check_data').value == 'data'){
disable_input_field('data');
}
}
但是你还没有制作元素
我还使用它来禁用控件,所以我想这可能会有所帮助:)
$(文档).ready(函数(){
$(文档).on('change','check1',函数(e){
如果($(this).is(':checked')){
$('#input1').addClass('disabled-control');
}
其他的
{
$('#input1').removeClass('disabled-control');
}
});
});代码>
。禁用控件{
不透明度:0.4;
光标:不允许;
指针事件:无;
}
禁用ID不能重复id=“data”
已使用两次,一次在文本中,一次在隐藏字段中。的可能副本无法重现此问题。。对于文本框,您需要使用readonly=true;对于复选框,您需要使用disble=true。这是一个错误。我纠正了它。但不工作@Sasikumarids不能重复id=“data”
已使用两次,一次在文本中,一次在隐藏字段中。的可能副本无法重现此问题。。对于文本框,您需要使用readonly=true;对于复选框,您需要使用disble=true。这是一个错误。我纠正了它。但在Sasikumar不起作用