Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Отправка формы из textarea по нажатию Ctrl+Enter (https://javascript.ru/forum/events/9801-otpravka-formy-iz-textarea-po-nazhatiyu-ctrl-enter.html)

trikadin 06.06.2010 16:09

Отправка формы из textarea по нажатию Ctrl+Enter
 
Функция:
validForm=function(oForm){
	if(!oForm.messageName.value||!oForm.messageBox.value){alert('Заполните оба поля'); return false;}
	else oForm.submit();
}


Форма:
<form action="addMessage.php" method="post" onsubmit="return validForm(this)">
		<p> <b>Имя:</b><br />
			<input type="text" width="40" name="messageName" />
		</p>
		<p> <b>Сообшение:</b><br />
			<textarea name="messageBox" cols="40" rows="5" onkeypress="if(event.keyCode==10||(event.ctrlKey && event.keyCode==13))validForm(this.form)">
</textarea>
		</p>
		<input type="submit" name="messageButton" value="Отправить комментарий" />
	</form>


Валидируется, но не отправляется из textarea. Что я упустил?

Ъь_ 19.10.2010 13:58

<form action="addMessage.php" method="post" onsubmit="return validForm(this)">
<b>Имя:</b><br />
<input type="text" width="40" name="messageName" />
<textarea name="messageBox" cols="40" rows="5" onkeypress="if(event.keyCode==10||(event.ctrlKey && event.keyCode==13))koment.click();">
</textarea><br>
<input type="submit" name="messageButton" id="koment" value="Отправить комментарий" /> </form>

попробуй так без лишних скриптов

рони 19.10.2010 15:20

trikadin,
validForm должна вернуть true для onsubmit для этого достаточно добавить в неё return
validForm=function(oForm){
	if(!oForm.messageName.value||!oForm.messageBox.value){alert('Заполните оба поля'); return false;}
	else return oForm.submit();
}

Ъь_ 19.10.2010 18:34

Кстати в хроме и мазиле это не работает, только в опере вроде

trikadin 19.10.2010 23:17

Ъь_, рони, спасибо) Хотя решение (как у рони) я уже нашёл, тема-то когда создана))


Часовой пояс GMT +3, время: 00:28.