我有一个脚本,基本上在单击按钮时附加属性。脚本如下;
<script type="text/javascript">
window.generateRow = function() {
var d = document.getElementById("add");
var p = document.createElement("p");
var input = document.createElement("input");
input.setAttribute('type', 'text');
input.setAttribute('pattern', '^[a-zA-Z ]+$');
input.setAttribute('name', 'items[]');
input.setAttribute('required');
p.appendChild(input);
d.appendChild(p);
}
</script>
在我的HTML中,我使用普通的onClick函数来回调函数
<div id="add"></div>
<p><input type="button" value="Add" name="" onclick="generateRow()"/></p>
我遇到的问题是在我的Chrome版本中,每次单击按钮时都可以添加字段,但在Firefox和Chrome的更新版本中,该按钮不会响应任何内容。
我使用的是Firefox版本31.0,而我使用的是Chrome版本32.0
答案 0 :(得分:1)
NodeElement
方法setAttribute
需要两个参数,但第input.setAttribute('required')
行只有一个。您必须改为使用input.setAttribute('required', true);
。
更新后的整个代码:
generateRow = function() {
alert('m');
var d = document.getElementById("add");
var p = document.createElement("p");
var input = document.createElement("input");
input.setAttribute('type', 'text');
input.setAttribute('pattern', '^[a-zA-Z ]+$');
input.setAttribute('name', 'items[]');
input.setAttribute('required', true);
p.appendChild(input);
d.appendChild(p);
}
答案 1 :(得分:1)
http://jsfiddle.net/ZZ7T5/2/它与小提琴问题的关联在setAttribute(“required”)中。当你只传递一个时,它要求两个参数
window.generateRow = function() {
var d = document.getElementById("add");
var p = document.createElement("p");
var input = document.createElement("input");
input.setAttribute('type', 'text');
input.setAttribute('pattern', '^[a-zA-Z ]+$');
input.setAttribute('name', 'items[]');
input.setAttribute('required', true); // THIS IS ERR
p.appendChild(input);
d.appendChild(p);
}