我正在编写一些附加隐藏表单字段的代码,并将当前幻灯片ID附加为值,这是有用的。
var items = this._core.$stage.children();
for (var i = 0; i < items.length; i++) {
if(items[i].classList.contains('active')) {
var curr_slide = items[i];
var curr_slide_value = curr_slide.firstElementChild.getAttribute('data-hash');
console.log(curr_slide);
console.log(curr_slide_value);
if(curr_slide.getElementsByTagName('form').length) {
var form = curr_slide.getElementsByTagName('form');
if(form[0].getElementsByName('slide') == null) {
var input = document.createElement('input');
input.value = curr_slide_value;
input.type = 'hidden';
input.name = 'slide';
form[0].appendChild(input);
alert("appended form");
} else {
alert("did not append form");
}
}
}
}
此行不起作用
if(form[0].getElementsByName('slide') == null) {
此时我需要检查输入字段是否为&#34; slide&#34;已经存在,如果没有,请添加它。
此处参考是我的表单对象
[form#gform_1, gform_1: form#gform_1, item: function, namedItem: function]
0: form#gform_1
0: textarea#input_1_1.textarea.medium
1: textarea#input_1_2.textarea.medium
2: textarea#input_1_3.textarea.medium
3: textarea#input_1_4.textarea.medium
4: input#gform_submit_button_1.gform_button.button
5: input
6: input#_gform_submit_nonce_1
7: input
8: input.gform_hidden
9: input.gform_hidden
10: input#gform_save_1.gform_hidden
11: input#gform_resume_token_1.gform_hidden
12: input.gform_hidden
13: input.gform_hidden
14: input#gform_target_page_number_1.gform_hidden
15: input#gform_source_page_number_1.gform_hidden
16: input
答案 0 :(得分:2)
getElementsByName
未定义为form
- 元素。
最兼容的方式应该是:
if (!form[0].elements.slite) {
// add <input name="slite"> to form[0]
}
答案 1 :(得分:1)
试试这个:
if(form[0].getElementsByName('slide').length == 0) {