2016-12-23 24 views
0

Я хочу получить все мои данные и выделить элементы с моей страницы HTML. Я пробовал getElementsByTagName('input,select'), но он не работает.getElementsByTagName несколько тегов

Мой код HTML и JavaScript:

function myFunction() { 
 
var data = []; 
 
var data1 = []; 
 
var data2 = []; 
 
for (var i = 0; i < 10; ++i) { 
 

 
    \t 
 
var x = document.getElementsByTagName("INPUT,SELECT")[i].getAttribute("name"); 
 
var y = document.getElementsByTagName("INPUT,SELECT")[i].getAttribute("type"); 
 
var z = document.getElementsByTagName("INPUT,SELECT")[i].getAttribute("maxlength"); 
 
    data.push(x); 
 
    data1.push(y); 
 
    data2.push(z); 
 
    location.href ="ttt.php?name=" + data + "&active=" + data1 + "&data2=" + data2 
 
} 
 

 
}
<select name="CIV"><option selected="selected" value=""></option><option selected="selected" value="">Mr</option><option selected="selected" value="">Mme</option></select> 
 
<input type="text" size="20" name="first_name" id="first_name" maxlength="50" class="cust_form" value=""> 
 
<input type="text" size="20" name="last_name" id="last_name" maxlength="50" class="cust_form" value=""> 
 
<input type="text" size="20" name="address3" id="address3" maxlength="50" class="cust_form" value="">

+0

Во-первых, что вы пытаетесь сделать - прохождение тегов элементов через запятую «getElementsByTagName» - не будет работать. Чего вы пытаетесь достичь? Вам нужно изменить свой подход. –

+0

Что я хочу сделать, так это получить все входные данные и выбрать имя. Когда я проверяю var x = document.getElementsByTagName ("INPUT") [i] .getAttribute ("name"); Он возвращает только данные. Но мне нужен вход и выбор. После того, как я пришлю варибель через url –

+0

, вы можете получить их только по отдельности. Лучше всего получить их отдельно и объединить две коллекции. Резюме состоит в том, что то, что вы делаете, совершенно неверно. Вы не можете отправить массив через URL-адрес, как и вы. То, что вы получите, это '[object Object]' вместо всех 'data' и' data1', которые вы переходите к URL-адресу. Я думаю, вам нужно сначала понять JavaScript и как это помогает в управлении значениями в DOM. –

ответ

0

Вы должны получить доступ к элементам в отдельности; INPUT и SELECT. BTW, элемент выбора не имеет атрибутов type и maxlength.

function myFunction() { 
    var nameData = []; 
    var typeData = []; 
    var maxLengthData = []; 
    var input = document.getElementsByTagName("INPUT") 
    var select = document.getElementsByTagName("SELECT") 

    // Targeting the first 9 of elements of input collections and select collections 
    // Assuming you understand what you are doing here 
    for (var i = 0; i < 10; ++i) { 
    nameData.push(input[i].getAttribute('name')); 
    nameData.push(select[i].getAttribute('name')); 
    typeData.push(input[i].getAttribute('type')); // Select element doesn't have type attribute 
    maxLengthData.push(inputt[i].getAttribute('maxlength')); // Select elemnt doesn't have maxlength attribute 

    // Assuming you understand what you are doing to build your url here 
    location.href ="ttt.php?name=" + nameData + "&active=" + typeData + "&data2=" + maxLengthData 
    } 

} 

Пожалуйста, ознакомьтесь с подробным описанием элементов HTML и их атрибутов. Кроме того, читайте больше о чистом JavaScript.

Примечание: это еще не проверено. Попробуйте и дайте мне знать, если он сделает то, что вы хотите.