textfield.value = "" не работает в Firefox, но работает в Safari / Chrome - PullRequest
0 голосов
/ 16 ноября 2010

У меня есть функция, которая удаляет текстовое поле (называемое termsField) и использует JQuery для очистки текста от div (называемого definitionContainer), и я активирую эту функцию, когда пользователь нажимает кнопку.

function clearText(target){
    var definitionDiv = document.getElementById("definitionContainer");
    $('#definitionContainer').empty(); //empty the div
    termsField.value = ""; //delete the text field
    $(target).val = "";

И это HTML-код для моего текстового поля и кнопки:

<input id="termsField" type="search" autocorrect="off" 
     placeholder="Type something!" maxlength="2048">

<INPUT type="image" name="Clear" alt="Clear Search" src="clearX.png" 
    height="22" width="22" onClick="clearText(this)">

Кто-нибудь знает, почему очистка definitionDiv работает в Firefox, но termsField.value = ""; не работает?Оба из них отлично работают в Safari и Chrome.Я не занимаюсь тестированием IE, так как это часть веб-интерфейса.

Ответы [ 3 ]

2 голосов
/ 16 ноября 2010

Вы не показали, где определена переменная termsField. Возможно, вы не определили это, что, вероятно, является проблемой, поскольку не все браузеры делают отвратительную вещь (введенную IE), загрязняя глобальный объект свойствами, соответствующими идентификаторам элементов в документе. У меня отлично работает следующее:

var termsField = document.getElementById("termsField");
termsField.value = "";

Кроме того, хотя это не связано с проблемой termsField, jQuery's val() - это метод:

$(target).val("");
1 голос
/ 16 ноября 2010
$(target)[0].value = 'blah'; 

или

$(target).val('blah')

Также у вас не определено termsField нигде. Пожалуйста, определите это, если вы уже не во внешней области.

0 голосов
/ 16 ноября 2010

Правильный синтаксис:

document.getElementById('termsField').value = ""

в предположении, что в качестве значения параметра 'rulesField' указан вами выше.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...