Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 18.05.2009, 10:07
Аспирант
Отправить личное сообщение для Viper Посмотреть профиль Найти все сообщения от Viper
 
Регистрация: 27.09.2008
Сообщений: 88

Jquery 1.3.2 и texarea с отправкой
Собственно что нужно. Нужно проверить текстовое поле на пустое значение и если поле не пустое, только тогда отправить данные.

echo '<form action="" method="post" name="pedit"><div id="add">';

    foreach ($rows as $row) {
        echo '<dl>
            <dt>'._PNUMBER.': </dt>
            <dd><input type="text" name="pnum" class="inputbox" value="'.$row->p_number.'" /></dd>
            <dt>'._PNAME.': </dt>
            <dd id="row"><input type="text" name="pname" class="inputbox" value="'.$row->p_name.'" /></dd>
            <dt>'._PNAME_ALIAS.': </dt>
            <dd><input type="text" name="pnamea" class="inputbox" value="'.$row->p_name_alias.'" /></dd>
            <dt>'._PSDATE.': </dt>
            <dd id="row"><input type="text" name="psdate" class="inputbox" value="'.$row->p_sdate.'" /></dd>
            <dt>'._PCDATE.': </dt>
            <dd><input type="text" name="pcdate" class="inputbox" value="'.$row->p_cdate.'" /></dd>
            <dt>'._PPORT.': </dt>
            <dd id="row"><input type="text" name="pport" class="inputbox" value="'.$row->p_port.'" /></dd>
            <dt>'._PDESC.': </dt>
            <dd><textarea name="pdesc" style="width: 515px; height: 70px;" wrap="virtual" class="inputbox">'.$row->p_desc.'</textarea></dd>
        </dl>';
    }

        echo '<input type="hidden" name="task" value="savePhoneChange" />
        <input type="hidden" name="cid" value="'.$id.'" />
        <input type="hidden" name="Itemid" value="'.$itemid.'" />
        <input type="hidden" name="option" value="com_journal" />
        <input type="submit" class="button" value="'._EDIT_CAT.'" id="send" />
    </form></div><div id="info"></div>


<script type="text/javascript">
        $(document).ready(function(){
			$("#send").click(function(){
				var txt = $("textarea").val();
				if (txt == \'\') {
					$("#info").addClass("info").text("'._ALERT_REQUIRED.'");
					$("form").submit(function() { return false; });
				} else {
					$("#info").removeClass("info").text("");
					$("form").submit(function() { return true; });
				}
			});
		});
    </script>


собственно первая часть проверки работает. т.е. появляется сообщение что нужно заполнить. а вот вторая часть не совсем. т.е. сообщение убирается при клике на кнопку, но данные не отправляются. т.е. страница даже не перезагружается.
Ответить с цитированием
  #2 (permalink)  
Старый 18.05.2009, 13:33
Аватар для x-yuri
Отправить личное сообщение для x-yuri Посмотреть профиль Найти все сообщения от x-yuri
 
Регистрация: 27.12.2008
Сообщений: 4,201

\'\' - это что такое? Некорректная подсветка синтаксиса уже должна была навести на мысли
p.s. а если пользователь переместит фокус на кнопку submit и нажмет Enter?
Ответить с цитированием
  #3 (permalink)  
Старый 18.05.2009, 21:53
Аспирант
Отправить личное сообщение для Viper Посмотреть профиль Найти все сообщения от Viper
 
Регистрация: 27.09.2008
Сообщений: 88

Сообщение от x-yuri Посмотреть сообщение
\'\' - это что такое? Некорректная подсветка синтаксиса уже должна была навести на мысли
p.s. а если пользователь переместит фокус на кнопку submit и нажмет Enter?
так и должно быть это часть экранирование т.к. echo у меня с " кавычками а при указании одинарных ошибка синтаксиса.

если жмакнуть enter то тоже ничего. собстно порыл доки немного переделал.
Ответить с цитированием
  #4 (permalink)  
Старый 18.05.2009, 22:29
Аватар для x-yuri
Отправить личное сообщение для x-yuri Посмотреть профиль Найти все сообщения от x-yuri
 
Регистрация: 27.12.2008
Сообщений: 4,201

Цитата:
p.s. а если пользователь переместит фокус на кнопку submit и нажмет Enter?
я про то, что форму можно и клавиатурой отправить и никакой click не сработает

по поводу проблемы: обработчики submit не заменяют друг друга, а добавляются в очередь, соответственно submit отменяется, если хоть раз был назначен первый обработчик. В общем делай как все, перехватывай submit
Ответить с цитированием
  #5 (permalink)  
Старый 19.05.2009, 09:57
Аспирант
Отправить личное сообщение для Viper Посмотреть профиль Найти все сообщения от Viper
 
Регистрация: 27.09.2008
Сообщений: 88

переделал исходя из написанного выше

$("form").submit(function() {
	if ($("textarea").val() != \'\') {
		$("#info").removeClass("info").text("");
			return true;
	}
	$("#info").addClass("info").text("'._ALERT_REQUIRED.'");
		return false;
});
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
jQuery для загрузки страницы в <div> Dr.Holerik jQuery 12 11.10.2016 17:36
Jquery, Dynatree и JSON antirek jQuery 6 01.09.2009 15:00
подгрузка файлов через jQuery imdogma jQuery 4 05.05.2009 21:46
Обработчик события: как делает jquery? Shasoft jQuery 35 22.04.2009 09:41
первый опыт jquery. Вопросы. Titto jQuery 0 17.09.2008 10:32