Все, я застрял с проблемой ниже, Пожалуйста, помогите ее пересмотреть. У меня есть два входных текста на странице. Пусть говорят A и B. Когда загружается страница, A разрешает вводить текст, когда B отключен, после того, как A onblur запущен, я буду проверять значение A, если оно действительно (равно test
на строковое значение), тогда B позволяет вводить текст. Проблема заключается в том, что событие A on-blur будет запущено, когда я нажимаю любую страницу, кроме щелчка на B, потому что в это время B отключается. Код выглядит как показано ниже.
<html>
<head>
<script type="text/javascript" >
function ATextOnBlur(obj)
{
if (obj.value=='test')
{
document.getElementById("BTxt").disabled=false;
}
}
</script>
</head>
<body>
<input type="text" id="ATxt" value="" onblur="ATextOnBlur(this);">
<input type="text" id="BTxt" value="" disabled="disabled">
</body>
<html>
И я сделал несколько тестов для этого, обнаружил, что даже событие click не может быть запущено для отключенного элемента.
<html>
<head>
<script type="text/javascript" >
function textClick()
{
alert('click');
}
</script>
</head>
<body>
<input type="text" value="" disabled="disabled" onclick="textClick();">
</body>
<html>
Я хочу знать, есть ли в нем решение для JQuery? или он просто не может быть исправлен независимо от JS или JQuery. Благодарю.
Вы должны использовать событие onkeypress. Вы можете обратиться сюда - http://www.w3schools.com/jsref/event_onkeypress.asp
Вы также можете захотеть рассмотреть onkeyup и onkeydown, а также в зависимости от вашего требования.
Вы можете проверить значение ATxt в событии keyup вместо размытия:
<input type="text" id="ATxt" value="" onkeyup="ATextOnBlur(this);">
<input type="text" id="BTxt" value="" disabled="disabled">
ATextOnBlur
существует запрос ajax, то приATextOnBlur
он вызовет запрос ajax. Боюсь, это приведет к дополнительной перегрузке сервера. это означает, что сервер будет атакован кем-то. Благодарю.