2010-11-01 78 views
0

可能重复:
jQuery change input type如何使用jQuery替换input [type = submit]输入[type = text]?

如何更换输入[类型=提交]输入[类型=文本]使用jQuery?

这样开不工作:

$('input[type=submit]').removeAttr('type').attr('type','text'); 
+0

你有包裹在准备处理您的代码? – Sarfraz 2010-11-01 10:24:01

+0

不要这样做:它会导致问题。改为移除并重新创建元素。 – 2010-11-01 10:24:08

+0

可能有别的办法吗? – Algorithm 2010-11-01 10:27:53

回答

6

您不能更改属性类型(不知道为什么,但这是萤火虫日志),所以你能做的最好的事情是完全删除输入元素并插入正确类型的新输入。

使用jQuery像这样的东西:

$('input[type=submit]').after("<input type='text' />"); 
$('input[type=submit]').remove(); 
+1

jQuery禁止更改它,因为IE浏览器不会让你这样做(并且创建一个解决方法(http://webbugtrack.blogspot.com/2007/09/bug-237-type-is-readonly-attribute-in.html)因为这将是相当痛苦的) – scunliffe 2010-11-01 10:32:32

+0

你用什么来检查Firebug中的这个限制。您使用哪个选项卡来调试此问题? – 2010-11-01 10:33:38

+0

我在控制台选项卡中看到它。我已经做了一个JsFidde来测试这个,在那里你可以看到日志说明它:[jsFiddle更改类型属性时的firebug日志错误](http://jsfiddle.net/fXR44/1/) – 2010-11-01 10:35:32

相关问题