Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将属性更改为只读不起作用_Javascript_Jquery_Html_Dom_Javascript Events - Fatal编程技术网

Javascript 将属性更改为只读不起作用

Javascript 将属性更改为只读不起作用,javascript,jquery,html,dom,javascript-events,Javascript,Jquery,Html,Dom,Javascript Events,我有一个带有内联创建的表,即单击“添加行”,它会打开一个可编辑的行 您可以将数据放入其中并有一个保存按钮 我试着做两件事 当您单击save(btnsubmit)时,它会将行状态从editable更改为read only。我该怎么做 并添加一个用于编辑此特定行的新按钮 这是我想要的代码,文本框名称和复选框1将更改为只读 //Append new row var html = '<tr><td>@Html.TextBox("name")</td>&

我有一个带有内联创建的表,即单击“添加行”,它会打开一个可编辑的行 您可以将数据放入其中并有一个保存按钮

我试着做两件事

  • 当您单击save(btnsubmit)时,它会将行状态从
    editable
    更改为
    read only
    。我该怎么做
  • 并添加一个用于编辑此特定行的新按钮
  • 这是我想要的代码,文本框名称和复选框1将更改为只读

        //Append new row
        var html = '<tr><td>@Html.TextBox("name")</td><td>@Html.CheckBox("checkBox1")</td><td><input id="btnsubmit" type="submit" value="Create" class="btn btn-default" /></td><td></tr>';
    
        function addRow() {
            if ($('#btnsubmit').length == 0) {
    
                jQuery(html).prependTo('#data-table');
    
                $('#btnsubmit').click(function () {
    
                    $('#btnsubmit').hide();
                    $('#name').prop('readonly', true);
                    initRowEvents(jQuery(document));
    
                });
    
            }
        }
    
    //追加新行
    var html='@html.TextBox(“name”)@html.CheckBox(“checkBox1”);
    函数addRow(){
    如果($('#btnsubmit')。长度==0){
    jQuery(html).prependTo(“#数据表”);
    $('#btnsupmit')。单击(函数(){
    $('#btnsubmit').hide();
    $('#name').prop('readonly',true);
    initRowEvents(jQuery(文档));
    });
    }
    }
    
    name属性未更改为只读。。。 我尝试了在行按钮上使用
    hide
    ,但我不确定这是否是最好的方法,因为当我执行
    remove
    操作时,该操作没有被调用…

    您是否尝试了
    $('#name').attr('readonly',true)

    您是否尝试了
    $('#name').attr('readonly',true)

    小提琴:

    您所做的一切都是正确的,除了它不是道具,而是属性:-)

    小提琴:

    您所做的一切都是正确的,除了它不是道具,而是属性:-)


    readonly不是一个道具,而是一个属性,根据HTML规范

    尝试这样做会奏效:

    $('#name').attr('readonly', true);
    

    readonly不是一个道具,而是一个属性,根据HTML规范

    尝试这样做会奏效:

    $('#name').attr('readonly', true);
    

    我认为您正在寻找attr()方法,而不是prop()。这似乎是你想要的。仅供参考,prop(“readonly”,true)至少在Microsoft Edge中起作用,但它有点无关紧要。那么,关于Microsoft Edge有什么说法呢?我认为您正在寻找attr()方法,而不是prop()。这似乎是你想要的。仅供参考,prop(“readonly”,true)至少在Microsoft Edge中起作用,但它有点无关紧要。那么,关于Microsoft Edge这是怎么说的呢?那么你必须发布你的html代码,这样我才能帮助你,因为这一个确实有效:)对不起,它可以工作,但我应该如何省略文本框矩形?投票赞成!你的意思是从文本框中删除边框?然后在css中可以使用#name{border:none;},或者如果你想在js中使用$('#name').css(“border”,“none”)。希望这有帮助:)然后你必须发布你的html代码,这样我才能帮助你,因为这一个确实有效:)对不起,它可以工作,但我应该如何省略文本框矩形?投票赞成!你的意思是从文本框中删除边框?然后在css中可以使用#name{border:none;},或者如果你想在js中使用$('#name').css(“border”,“none”)。希望有帮助:)谢谢,但是我怎么能省略文本框矩形呢?投票赞成。prop()也起作用。实际上,我在Firefox中遇到了一些关于.attr()的问题,而.prop()解决了这些问题。Jean,省略矩形是什么意思?是这样吗:@米尔扬,attr不在FF工作?你能做一把不能用的小提琴吗?我必须检查正确的Entio,我应该把输入放在哪里?none,当我单击create,字段变成只读时,边框将被删除。@Entio我现在无法重现问题,但它发生在我根据页面id从选择菜单中选择选项时。客户感到沮丧,解决方案是使用.prop()功能。也许这就是移动浏览器的问题所在,因为该网站的响应速度很快。。。我不记得了。谢谢,但是我怎么能省略文本框矩形呢?投票赞成。prop()也起作用。实际上,我在Firefox中遇到了一些关于.attr()的问题,而.prop()解决了这些问题。Jean,省略矩形是什么意思?是这样吗:@米尔扬,attr不在FF工作?你能做一把不能用的小提琴吗?我必须检查正确的Entio,我应该把输入放在哪里?none,当我单击create,字段变成只读时,边框将被删除。@Entio我现在无法重现问题,但它发生在我根据页面id从选择菜单中选择选项时。客户感到沮丧,解决方案是使用.prop()功能。也许这就是移动浏览器的问题所在,因为该网站的响应速度很快。。。我不记得了。