У меня есть очень простой вопрос, который я думал, что знаю, но это сводит меня с ума. Помогите, пожалуйста!!!
Я вам скажу, это просто...
<!DOCTYPE html>
<html lang="es">
<head>
<meta charset="UTF-8">
<script>
document.f1.f1t1.value = 30
</script>
<title>Document</title>
</head>
<body>
<form name="f1" id="f1">
<input type="text" name="f1t1" id="f1t1">
</form>
</body>
</html>
Я хочу напечатать число 30 внутри текстового поля из JavaScript в качестве значения по умолчанию и начального значения. Я понимаю, что это правильный синтаксис, потому что я получаю доступ к полю формы в соответствии с его иерархией DOM и указываю, что его значение равно 30.
Что ж, со мной происходит то, что на экране мое текстовое поле загружается пустым, а инспектор Google Chrome сообщает мне, что «Uncaught TypeError: Cannot read property 'f1t1' of undefined». Он как бы не распознает объект «f1» и интерпретирует «f1t1» как свойство «f1».
Ну, там я оставляю сомнения, чтобы посмотреть, даст ли мне кто-нибудь кабель.
Большое спасибо.
Если вы используете jquery, вы можете сделать так:
HTML
ЯВАСКРИПТ/jQuery
«$» относится к jQuery; затем вы можете найти элемент с помощью "("#f1t1")", а затем присвоить значение с помощью ".val('30');"
Я понимаю, что вы хотите сделать, хотя есть и другие, более сложные способы сделать это.
Чтобы он работал так, как вы хотите, вы должны поместить скрипт в body после тега формы .
Следующим образом:
Таким образом, ваш скрипт будет выполнен, когда элементы управления (форма и текстовое поле) уже загружены в DOM.
Если вы хотите увидеть рабочий код, я оставлю его в JSBIN: http://jsbin.com/zafaset/edit?html,console,output
Вам все еще нужно сообщить Js, когда вы хотите, чтобы он печатался.
Когда DOM загружается, создается функция «X», и js сообщается, что эту функцию нужно запускать при запуске с помощью window.onload = X;