2012-02-02 2 views
1

У меня есть текстовое поле и кнопка управления рядом с ним. При нажатии на кнопку вызывается другая функция, в которой некоторые данные выбираются и записываются обратно в текстовое поле. В настоящее время мое текстовое поле редактируется пользователем после того, как данные загружены в текстовое поле. Я хочу, чтобы текстовое поле было прочитано только после того, как пользователь нажимает на кнопку и извлекает данные в текстовое поле. Таким образом, теперь данные присутствовать в текстовом поле, которое невозможно отредактировать. Если пользователь должен изменить данные, пользователь должен снова нажать кнопку, чтобы вызвать функцию, которая поможет нам записать данные в текстовое поле. Как я могу выполнить это в javascript.Создание текстового поля только после ввода некоторых данных

ответ

6

вы можете сделать это, как этот

HTML:

<input type="text" id="mytextbox" value="click the button below."/> 
<input type="button" value="click" onclick="changeText();"/> 

Javascript:

function changeText(){ 
    var text_box = document.getElementById('mytextbox'); 
    if(text_box.hasAttribute('readonly')){ 
     text_box.value = "This text box is editable."; 
     text_box.removeAttribute('readonly'); 
    }else{  
     text_box.value = "This text box is read only."; 
     text_box.setAttribute('readonly', 'readonly'); 
    } 
} 

скрипку пример:http://jsfiddle.net/b7jAy/

0

Вы можете использовать функцию jQuery .attr(), чтобы установить статус readonly текстового поля.

$('#textfield').attr('readonly', true); 
$('#textfield').attr('readonly', 'readonly'); 
+0

вы не должны считать, что OP использует JQuery. –

0

Попробуйте использовать JQuery. Тысячи причин использовать его как Javascript framework. Вот ответ на ваш вопрос:

Add "readonly" to <input > (jQuery)

Надежда, что помогает,

+0

, вы не должны учитывать, что OP использует jquery. –

0

Назначают id атрибут в текстовое поле, скажем <input id=foo> и использовать

document.getElementById('foo').readOnly = true;