2010-10-07 3 views
0

Я разрешаю пользователю использовать либо одно из двух текстовых полей для поиска в базе данных - одно поле идентификатора, а одно поле является freetext. Я использую ASP.NET с C# btw.Измените текст текстового поля на JavaScript

В любом случае, все, что мне нужно сделать, это заставить его, когда пользователь нажимает на одно из текстовых полей, текст другого текстового поля просто удаляется, поэтому другое текстовое поле пустое.

Как мне это сделать? Я предполагаю, что JavaScript - это решение.

ответ

1

Учитывая функцию в JavaScript:

function clearOther(which){ 
document.getElementById(which).value=''; 
} 

это, то можно назвать, когда вы сосредоточены на одном текстовом поле, передавая идентификатор другого:

<input type="text" id="box1" onfocus="clearOther('box2')" /> 
<input type="text" id="box2" onfocus="clearOther('box1')" /> 

рабочий пример ->http://jsfiddle.net/CwWKn/

+0

ОП-прежнему будет нуждаться в [стороне сервера пример] (http://stackoverflow.com/questions/3883673/change-textbox-text-in-javascript/3883786#3883786) о том, как оценивать поля, если JS отключен. –

0

[Demo]

var tbox1 = document.getElementById('tbox1'); 
var tbox2 = document.getElementById('tbox2'); 

tbox1.onfocus = function() { 
    tbox2.value = ""; 
}; 

tbox2.onfocus = function() { 
    tbox1.value = ""; 
}; 
+0

Этот код работает так же, как [Jamiec] (http://stackoverflow.com/users/219661/jamiec) [ответ] (http://stackoverflow.com/questions/3883673/change-textbox-text- in-javascript/3883728 # 3883728). Всего несколько дополнительных строк ;-) –

0

I + 1'ed Jamiecanswer, но вы все еще должны иметь некоторую логику для тех, у кого нет JS. Возможно, используйте поле идентификатора в качестве приоритета, если поле BOTH заполнено.

if ((!box1.IsNullOrEmpty) & (!box2.IsNullOrEmpty)) { 
    // Evaluate box1 (since box1 is the ID field) 
} else { 
    if ((!box1.IsNullOrEmpty)) { 
     // Evaluate box1 
    } else { 
     // Evaluate box2 
    } 
} 
+0

Код - довольно грубый эскиз (я не парень C#), но он должен дать вам представление. В основном проверка на стороне сервера важна, чтобы не полагаться только на технологию клиентской стороны ... поскольку это может быть сорвано. –

0
//Page A 
<input type='text' id='tb'> 
var returnedValue = showModalDialog('page2.aspx', window); 

//Page B 
<input type='text' onkeypress='update(this);'> 

function update(Sender) { 
var input = window.dialogArguments.document.getElementById("tb"); 
input.value = Sender.value 
} 
Смежные вопросы