Создание элемента DOM в jQuery
Здравствуйте!
При клике по кнопке формы "Просмотр" проверяется ввели ли в поле <input> название. Если нет, за этим полем с помощью jQuery создается новый элемент <span> с msq = "Введите название", который вставляется за эти полем. Хотелось выводить после клика по кнопке "Просмотр", но проблема: Сообщение появляется и тут же исчезает? До функции связывающей обработчик с кликом, новый элемент - newElement выводится и не исчезает, а элемент - $newPit исчезает после показа. Подскажите пожалуйста , в чем проблема? <script type="text/javascript"> $(function(){ title ="<?php echo $caption ?>"; var $previewButton = $('input#preview'); // отбор кнопки "Просмотр" if (title == "") { newElement = $("<span id='cap' >Введите название </span>").insertAfter("#caption"); } $previewButton.bind ('click', function(e) { // событие по кнопке "Просмотр" $newPit = $("<span>Введите название </span>").insertAfter("#save"); }); }); </script> |
Если я все правильно понял, то что мешает расположить элемент span заблаговременно?
И обработчик такой будет. Вешаем на кнопку при загрузке документа обработчик клик. При клике проверяем параметр value!="" после если да , то show для span если нет то ничего. Через 30 мин выложу исходник. |
Как и обещал, пожалуйста.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Документ без названия</title> <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js" type="text/javascript"></script> [JS]<script> $(document).ready(function() // загрузка документа { $('#buttom').click(function() { // обработчик клика по кнопке var massege = $('#input_form').val();// берем значение поля input if(massege!="") // проверка не пусто ли в поле { $('#spantext').hide(); // это сделано чтобы после вывода span и при вводе повторно это сообщение пряталось таки. alert ("Все в порядке, спасибо зарядке"); }else { $('#spantext').show(); // показываем спан } }); }); </script>[/JS] </head> <body> <input type="text" name="input" id="input_form" /> <span id="spantext" style="display:none">А это почему мы ничего не вводим</span> // свойство span говорит чтобы браузер его не отображал, кстати вызов функции можно без обработчика клика сделать, свойством onclick на элеменет <input type="button" value="show" id="buttom" /> </body> </html> Если что не ясно или не то, пишите. |
Спасибо большое за подробный ответ!
Ваша информация помогла. Но у меня кнопка "просмотр" с типом submit. В этом как я понимаю и была проблема. Форма отправляется (хоть action='#') что я не принял во внимание и сответственно сообщение исчезает. Еще раз спасибо за ваш отклик! PS. Поскольку новичок на форуме нажал плюс в карму, но по моему что не то сделал, было 528, стало 527. Прошу извинить, напишите что сделать чтобы исправить ошибку с этим плюсом в карму, если она была |
К черту карму)) Тут никто не знает зачем она))
|
Цитата:
|
Меня настораживает, это получается 528 челов нажали минус))) О я ору)
|
неа.
если у парня много кармы и он редко дает карму другому, то он дает дельта карме другого, которая вычисляется по формуле. т.е. чем больше у тебя карма и чем реже ты качаешь её другому, то большая цена у твоего голоса. у меня щас голос около сотки)) |
0931454574,
нажмите уже "профиль" под своим ником, посмотрите, кто и за что вам минусы ставил. |
Часовой пояс GMT +3, время: 11:10. |