Итак, я пытаюсь создать окно регистрации с javascript, и мне это удалось, пока я не наткнулся на странную ошибку. Скрипт выводит это в HTML:Отображение случайных букв как значений атрибутов вместо элементов массива
<input type="f" name="i" alt="r" placeholder="s">
Вместо:
<input type="email" name="regemail" alt="email" placeholder="What's your email?">
И то же самое для остальных 2-х входов. Почему это происходит? Я пытался искать какие-либо ошибки, но консоль не дает мне никаких ошибок, и я не могу найти ничего плохого в коде, который я написал. Помощь приветствуется.
var firstInput = ["email", "regemail", "email", "What's your email?"];
var secondInput = ["password", "regpassword", "password", "Choose a password"];
var thirdInput = ["password", "confirmpassword", "confirmpassword", "Confirm password"];
var types = ["type", "name", "alt", "placeholder"];
var inputNumber = ["firstInput", "secondInput", "thirdInput"];
var container = document.getElementById('usp-container');
function register() {
var div = document.createElement('div');
div.setAttribute('id', "register-popup");
container.appendChild(div);
var form = document.createElement('form');
form.setAttribute('method', "post");
form.setAttribute('action', "processregistration.php");
div.appendChild(form);
for (i = 0; i < 3; i++) {
function makeInputs(inputs) {
var tableRow = document.createElement('tr');
form.appendChild(tableRow);
var tableData = document.createElement('td');
tableRow.appendChild(tableData);
var input = document.createElement('input');
for (j = 0; j < 4; j++) {
input.setAttribute(types[j], inputs[j]);
}
tableData.appendChild(input);
}
makeInputs(inputNumber[i]);
}
}
register();
Вы должны переместить функцию makeInputs за пределами функции регистра. Если вы посмотрите на эту скрипку и нажмите JSHint, она покажет вам это предупреждение сбоку. http://jsfiddle.net/ej4e2p3L/ – Zack
Какая разница? И любая идея, почему входные данные игнорируют CSS в отношении маржи слева и справа? Он работает, когда вы пишете разметку в HTML напрямую, но когда Javascript сгенерировал его, он выравнивается слева, а не посередине. – Chrillewoodz