Я уже пару часов пытаюсь понять, почему JavaScript не работает. Код работает, но здесь это все равно.

<script type="text/javascript">
function change(text)
{
document.f1.ta.value="Hi!";
}
</script>
<form name="f1">
<input type="textarea" id="ta"/>
<input type="button" action='change("Hi!")'/>
</form>

Когда я нажимаю кнопку, это ничего не делает. Когда я пишу "document.f1.ta.value =" Привет! ";" в консоли инспектора Chrome это работает. Я использую XAMPP (для Windows) 1.7.3 Windows 7 Ultimate.

1
Anonymous the Great 9 Июн 2010 в 11:38

3 ответа

Лучший ответ

Ваша кнопка использует «действие» - это должно быть «onclick» для самого элемента.

И / или

Document.f1.ta.value = " Привет ! " ; терпит неудачу ... попробуйте

function test() {
   alert('test');
}

И добавить

<button onclick="test();">Test</button>

К вашему телу

1
Dan Heberden 9 Июн 2010 в 07:43

Это не стандартный способ доступа к элементам. Используйте document.getElementsByName или document.getElementById.

document.getElementById("ta").value="Hi!";

Как отмечает CMS, вы также хотите onclick для кнопки.

0
Matthew Flaschen 9 Июн 2010 в 07:44

Две вещи:

Вы указали атрибут action на кнопке, я думаю, что вы ищете внутреннее событие onclick:

<input type="button" onclick='change("Hi!")'/>

Стандартный способ (DOM0) для доступа к формам и элементам формы будет следующим:

function change(text) {
  document.forms[0].elements.ta.value = text;
}

Посмотрите пример здесь.

1
CMS 9 Июн 2010 в 08:00