if(ns1 == '' && ns2 == '')
пусто, чем пользователь получит это предупреждение Please fill in both nameserver
при нажатии кнопки «Отправить». Я хочу погасить предупреждение, когда пользователь нажимает текстовое поле ns1
и начинает печатать. Как я мог это достичь? Помоги мне, пожалуйста? Спасибо.jQuery выцветать предупреждение после ввода ключа
<script type="text/javascript">
$(document).ready(function(){
$('#submitButton').click(function(){
var rege = /^([a-z0-9][a-z0-9-]*\.)+[a-z]{2,3}\.$/i;
var zone = $('#zone').val();
var nama_subdomain = $('#nama_subdomain').val();
var ns1 = $('#ns1').val();
var ns2 = $('#ns2').val();
if(ns1 == '' && ns2 == ''){
$('#display').html('Please fill in both nameserver');
$("#ns1").focus();
return false;
}
if(ns1 == ''){
$('#display').html('Please fill in nameserver 1');
$("#ns1").focus();
return false;
}
else if(ns2 == ''){
$('#display').html('Please fill in nameserver 2');
$("#ns2").focus();
return false;
}
var parts = ns1.split('.');
var parts2 = ns2.split('.');
if (parts.length < 3 || !rege.test(ns1))
{ $('#display').html('Invalid nameserver 1 format');
$("#ns1").focus();
return false;
}
else if (parts2.length < 3 || !rege.test(ns2))
{ $('#display').html('Invalid nameserver 2 format');
$("#ns2").focus();
return false;
}
$('#display').html('<img src="http://i.imgur.com/UbMeQ.gif"> saving...');
$.post('pros.php', {
zone : zone,
nama_subdomain : nama_subdomain,
nameserver1 : ns1,
nameserver2 : ns2
},
function(zone) {
$('#display').html(zone);
}
);
});
});
</script>
HTML-:
<label for="data">Nameserver 1</label>
<input type="text" class="textInput" maxlength="255" size="30" value="" id="ns1" name="nameserver1">
<label for="data">Nameserver 2</label>
<input type="text" class="textInput" maxlength="255" size="30" value="" id="ns2" name="nameserver2">
<div id="display" style="color: green;">
<button id="submitButton" value="Save" type="button"><span>Save</span></button>
Я просто обнаружил проблему. Я делаю то же самое с другим текстовым полем, и теперь предупреждение появляется только один раз. Например, я нажимаю submit с пустым текстовым полем, поэтому получаю предупреждение «Пожалуйста, заполните оба сервера имен». После этого я начинаю печатать в 'ns1', и предупреждение исчезает, что очень приятно, но когда я снова нажимаю submit (получаю данные в текстовом поле ns1, но нет данных в текстовом поле ns2), не появляется предупреждение. Я полагаю, чтобы получить 'Пожалуйста, заполните nameserver 2', но предупреждение не появляется только один раз. Вот код для проверки корректности текстового поля 'ns2': – sg552
' else if (ns2 == '') { $ ('# display'). Html ('Пожалуйста, заполните nameserver 2'); $ ("# ns2"). Фокус() .unbind ('нажатие клавиши') .keypress (функция() { если (this.value! = '') {// затухать сообщение $ ('#display'). fadeOut(); // отвязать событие keypress, которое нам не нужно сейчас $ (this) .unbind ('keypress'); } }); return false; } 'Пожалуйста, помогите мне. – sg552
Перед тем, как показывать это сообщение, вы должны «fadeIn» отображать сообщение. Измените этот '$ ('# display'). Html ('Пожалуйста, заполните оба сервера имен');' to '$ ('# display'). Html ('Пожалуйста, заполните оба сервера имен'). FadeIn();' at все места. – ShankarSangoli