как прописать условия для полей input и textarea
у меня два поля input и textarea, мне нужно сделать следующее, если поля заполнены, должно всплыть окно с текстом, а если поле пустое, то другой текст
я совсем новичок, как можно это прописать, я сделала вот так, но алерт в любом случае появляется с первым текстом
<form action="zxc.php" method="POST">
<input class="author" type="text" name="author"/>
<textarea class="com" name="comment" cols="50" rows="5">
</textarea>
<input class="button" name="button" type="submit" onclick="moderation_0(this)" value="Отправить" />
</form>
function moderation_0(sub){
var textarea = document.getElementsByTagName('textarea');
var input = document.getElementsByTagName('input');
if(textarea != 0 && input != 0){
alert('Спасибо, Ваш комментарий отправлен на модерацию');
}
else{
alert('Поля ввода текста не заполнены');
}
}
|
function moderation_0(sub){
var textarea = document.getElementsByClassName('author')[0];
var input = document.getElementsByClassName('com')[0];
if(textarea && input){
alert('Спасибо, Ваш комментарий отправлен на модерацию');
}
else{
alert('Поля ввода текста не заполнены');
}
}
|
Не помогло(
пустые или не пустые поля, срабатывает в любом случае первый алерт |
Nailya, ой, упустил кое что.
function moderation_0(sub){
var textarea = document.getElementsByClassName('author')[0].value;
var input = document.getElementsByClassName('com')[0].value;
if(textarea && input){
alert('Спасибо, Ваш комментарий отправлен на модерацию');
}
else{
alert('Поля ввода текста не заполнены');
}
}
|
это скрипт почему-то реагирует только на поле input: я попробовала заполнить только input, поле textarea оставила пустым, и у меня сработал
первый алерт |
Вот так заработало)
function moderation_0(sub){
var textarea = document.getElementsByClassName('com')[0].value;
if(textarea != ''){
alert('Спасибо, Ваш комментарий отправлен на модерацию');
}
else{
alert('Поля ввода текста не заполнены');
}
}
|
Цитата:
Ловкость рук и никакого мошейничества :)
<form action="zxc.php" method="POST">
<input class="author" id="author" type="text" name="author"/>
<textarea class="com" id="comment" name="comment" cols="50" rows="5"></textarea>
<input class="button" name="button" type="submit" onclick="moderation_0()" value="Отправить" />
</form>
function moderation_0()
{
alert((document.getElementsById('author').value != '' && document.getElementsById('comment').value != '') ? ''Спасибо, Ваш комментарий отправлен на модерацию' : 'Поля ввода текста не заполнены');
}
|
Или можно добавить ID, так проще вроде )
function moderation_0(){
var textarea = document.getElementById('comment').value;
var input = document.getElementById('author').value;
if(textarea.length && input.length){
alert('Спасибо, Ваш комментарий отправлен на модерацию');
document.getElementById('submit').submit();
}
else{
alert('Поля ввода текста не заполнены');
}
}
<form action="zxc.php" method="POST" id="submit">
<input class="author" type="text" name="author" id="author"/><br>
<textarea class="com" name="comment" cols="50" rows="5" id="comment">
</textarea><br>
<input class="button" name="button" type="button" onclick="moderation_0()" value="Отправить" />
</form>
еще тип последнего инпута сделал button, чтобы форма не сабмитилась в случае пустых полей. сабмит устроен через эту строку - document.getElementById('submit').submit(); |
Цитата:
|
NeoN, да да, не заметил просто. :)
|
| Часовой пояс GMT +3, время: 12:33. |