0 Пользователей и 1 Гость просматривают эту тему.
  • 10 Ответов
  • 13495 Просмотров
*

digitalheart

  • Осваиваюсь на форуме
  • 37
  • 0 / 0
<php?
defined( '_JEXEC' ) or die( 'Restricted access' );

$doc = &JFactory::getDocument();

$doc->addScript(JURI::root(). 'media/jquery/jquery-1.10.2.min.js');
$doc->addScript(JURI::root(). 'media/jquery/jquery-validate.min.js');
$doc->addScriptDeclaration('jQuery.noConflict();');

JHtml::_('behavior.keepalive');
JHtml::_('behavior.tooltip');
JHtml::_('behavior.calendar');
//JHtml::_('behavior.formvalidation');

JHTML::stylesheet('media/com_jea/css/jea.css');

$this->form->setFieldAttribute('description', 'buttons', 'false');

$user = JFactory::getUser();
$uri =JFactory::getURI();

?>

<script type="text/javascript">
jQuery(document).ready(function()
{
    jQuery("#adminForm").submit(function()
        {
                   alert("Form submit!");
                       });
                       });
</script>

Проверочный скрипт не срабатывает при отправке формы. Подскажите, пожалуйста, где туплю.
*

Shustry

  • Гуру
  • 6434
  • 745 / 3
Ну есть множество плагинов. Например вот.
*

OmniWizard

  • Захожу иногда
  • 51
  • 3 / 0
Странные дела, может просто попробовать дописать к родному скрипту validate.js
просто добавить свое название инпута, да регулярное выражение?
this.setHandler("password",function(a){regex=/^\S[\S ]{2,98}\S$/;return regex.test(a)});
а то получается, что отключить придется весь js.
*

fsv

  • Живу я здесь
  • 2765
  • 402 / 2
Проверочный скрипт не срабатывает при отправке формы. Подскажите, пожалуйста, где туплю.
Сначала отмените дефолтное действие при сабмите формы, потом с ней работайте.
Код: javascript
<script type="text/javascript">
jQuery(document).ready(function() {
    jQuery("#adminForm").submit(function(event) {
        event.preventDefault();
        alert("Form submit!");
   });
});
</script>
Веб-разработка: заказ. Только новая объемная разработка. Качественно, дорого.
*

digitalheart

  • Осваиваюсь на форуме
  • 37
  • 0 / 0
Сначала отмените дефолтное действие при сабмите формы, потом с ней работайте.
Код: javascript
<script type="text/javascript">
jQuery(document).ready(function() {
    jQuery("#adminForm").submit(function(event) {
        event.preventDefault();
        alert("Form submit!");
   });
});
</script>
Сделал, не хочет работать.

jQuery(document).ready(function(){
    jQuery('body').append('<br/>Этот текст добавлен с помощью jQuery');
});

текст появился.

не могу понять почему предыдущий пример не работает.
*

fsv

  • Живу я здесь
  • 2765
  • 402 / 2
ссылка?
Веб-разработка: заказ. Только новая объемная разработка. Качественно, дорого.
*

SmokerMan

  • Гуру
  • 5293
  • 720 / 26
скорее всего потому что субмит прописан выше, т.е. стандартный с использованием му.
и он естественно не дает дальше действий
*

digitalheart

  • Осваиваюсь на форуме
  • 37
  • 0 / 0
скорее всего потому что субмит прописан выше, т.е. стандартный с использованием му.
и он естественно не дает дальше действий

Извините, я новичок. Можете разжевать, что это значит?
*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
Извините, я новичок. Можете разжевать, что это значит?
F12 и в консоли смотри красным - ошибки (Firefox, Chrome)
без ошибок и доступа к сайту только с использованием телепатических способностей  ^-^
*

OmniWizard

  • Захожу иногда
  • 51
  • 3 / 0
Это может быть от того что ты посылаешь  форму не <input type="submit", а <button> вот мой пример проверки формы под button самописный, ахахахахах!


jQuery(document).ready(function(){
   
   
       
        var name = jQuery('#form_faq_block_tip_name');// Назначаем div с нашим ответом о вводе
        name.hide();//скрываем элемент
       
   
    function searching( search_text,reg){ // Создаем функцию поиска search_text - вводимое значение в input, reg - переменная для выборки if
       
        var result;
            if (reg == 'name'){
            var re = /[a-zа-яA-ZA-Я]{3,15}$/;         
            result = search_text.search(re);
        }
        else if(reg == 'mail'){
            var re = /^\w+@[a-zA-Z_]+?\.[a-zA-Z]{2,3}$/;
            result = search_text.search(re);
        }
        else if(reg == 'text'){
            var re = /^(.|\n){20,2000}$/;
            result = search_text.search(re);
           
        }
        return result;
    }
   
    var form_name = jQuery('#form_faq_block_name_input input');
    form_name.blur(function(){ // Назначаем событие на выход из фокуса имени
            if (searching(form_name.val(),'name')!=0){
                name.html('<span style="color:red;">Введите правильно Имя:<br />'+'включающее только буквы<br /> и больше 2 симолов</span>');
                }
                else{
                    name.html('');
           
                   
                   
                }
          name.fadeIn(500);
         
       
    });
 
    var form_city = jQuery('#form_faq_block_city_input input');
    form_city.blur(function(){ // Назначаем событие на выход из фокуса город
            if (searching(form_city.val(),'name')!=0){
                name.html('<span style="color:red;">Введите правильно Город:<br />'+'включающее только буквы<br /> и больше 2 симолов</span>');   
             
                }
                else{
                    name.html('');
             ;
                   
                }
           
        name.fadeIn(500);
    });
   
    var form_mail = jQuery('#form_faq_block_mail_input input');
    form_mail.blur(function(){ // Назначаем событие на выход из фокуса почта   
            if (searching(form_mail.val(),'mail')!=0){
                name.html('<span style="color:red;">Введите правильно свой e-mail:</span>');
               
                }
                else{
                    name.html('');

                   
                   
                }                   
        name.fadeIn(500);
    });
   
     var form_text = jQuery('#form_faq_block_text_input textarea');
            form_text.blur(function(){ // Назначаем событие на выход из фокуса текста   
                if (searching(form_text.val(),'text')!=0){
                    name.html('<span style="color:red;">Напишите свой вопрос:</span>');
                   
                    }
                    else{
                        name.html('');
     
                       
                       
                    }
                         
            name.fadeIn(500);
        });
     var button = jQuery('#form_faq_block_button_input button');
     button.click(function(event){   
        if (searching(form_name.val(),'name')==0 && searching(form_city.val(),'name')==0 && searching(form_mail.val(),'mail')==0 && searching(form_text.val(),'text') ==0){
        alert('Ушло');
        }else{   
            name.html('<span style="color:red;">Вы не заполнили форму:</span>');
            event.preventDefault();
            }
       
     });   
 
 });// конец jQ


Вот HTML для понятности
<!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>
<link href="css/style.css" rel="stylesheet" type="text/css" />
<script src="js/jquery-1.10.2.min.js" type="application/javascript"></script>
<script src="js/myscript.js" type="application/javascript"></script>
</head>
<body>

<div id="form_faq">
<form id="form_faq_form"action="123123" enctype="multipart/form-data">
    <div id="form_faq_block">
        <div id="form_faq_block_title">
        Имя:
        </div>
        <div id="form_faq_block_name_input">
        <input name="" type="text" placeholder="  Введите Имя"/>
        </div>
        <div id="form_faq_block_tip">
            <div id="form_faq_block_tip_name">
            </div>
        </div>
    </div>
    <div id="form_faq_block">
        <div id="form_faq_block_title">
        Город:
        </div>
        <div id="form_faq_block_city_input">
        <input name="" type="text" placeholder="  Введите Город"/>
        </div>
        <div id="form_faq_block_tip">
        </div>
    </div>
    <div id="form_faq_block">
        <div id="form_faq_block_title">
        Почта:
        </div>
        <div id="form_faq_block_mail_input">
        <input name="" type="text" placeholder="  Введите свой e-mail"/>
        </div>
        <div id="form_faq_block_tip">
        </div>
    </div>
    <div id="form_faq_block_big">
        <div id="form_faq_block_title">
     Вопрос</div>
        <div id="form_faq_block_text_input">
        <textarea placeholder=" Задайте свой вопрос"></textarea>
        </div>
             <div id="form_faq_block_text_tip">
   </div>
    </div>
    <div id="form_faq_block">
        <div id="form_faq_block_button_tip">
        </div>
        <div id="form_faq_block_button_input">
        <button type="submit">Отправить</button>
        </div>
    </div>
</form>
</div>
</form>
</body>
</html>


Пример рабочий!

так я его подключил к Joomla

$document = JFactory::getDocument();
$document->addScript('templates/auto-16/js/jquery-1.8.3.min.js');
$document->addScript('templates/auto-16/js/form_faq.js');
« Последнее редактирование: 17.12.2013, 15:18:40 от OmniWizard »
*

Jekssone

  • Новичок
  • 6
  • 0 / 0
Доброго всем дня!

Начал знакомится с JQuery и возник вопрос. Влияет ли порядок загрузки на выполнение скрипта?
Для эксперимента, прописал в модуле меню (файл default.php) Joomla 2.5 вызов скрипта, который положил в папку assets (папку в соответствующем XML прописал).
Код
$document = &JFactory::getDocument();
$document->addScriptDeclaration('jQuery.noConflict();');
$document->addScript(JUri::root(true).'/modules/mod_menu/assets/js/jqtestscript.js');

далее, ниже по тексту, в том же файле прописал
Код
<script type="text/javascript">
jQuery(document).ready(function($) {
jQuery("ul.menu<?php echo $class_sfx;?>").myRenderMenu({
…//
});
});
</script>
Для проверки задал в самом скрипте (jqtestscript.js) изменение фона тэга ul
Код
(function ($) {
$.fn.myRenderMenu = function() {
this.css({ "background-color" : "green" });
return this;
};
}( jQuery ));

Но(!) Ничего не работает. При этом, если прописываю подобное действие напрямую внутри
Код
<script>…</script>
— всё ОК.
Проверил вывод — получается, что в head сначала прописывается мой скрипт, а уже потом — сам JQuery…

Код
<html>
<head>
<script src="/joomla/modules/mod_menu/assets/js/jqtestscript.js" type="text/javascript"></script>

<script src="/joomla/templates/mytemplate/js/jquery-2.1.4.min.js"></script>

</head>

В index.php шаблона вывод JQuery прописан сразу после конструкции
Код
<jdoc:include type="head" />
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Как редактировать отдельную страницу Joomla 2.5?

Автор mrporter

Ответов: 0
Просмотров: 1234
Последний ответ 14.09.2023, 22:16:47
от mrporter
Joomla 2.5.28, Safari под маком и сессии session

Автор beliyadm

Ответов: 19
Просмотров: 3556
Последний ответ 29.03.2023, 12:17:19
от Sawell
Joomla 2.5.28 как скачать все файлы через панель управления

Автор Sergei41984

Ответов: 7
Просмотров: 1686
Последний ответ 27.12.2022, 23:30:38
от Sergei41984
Расширения для Joomla! 1.6 (коллекция полезных ссылок)

Автор Sulpher

Ответов: 124
Просмотров: 130332
Последний ответ 03.12.2022, 16:15:19
от besttechoff
Почему в админке Joomla 2.58 - у меня 16 админов показывает?

Автор dyalex

Ответов: 7
Просмотров: 2325
Последний ответ 27.10.2022, 19:03:45
от marksetter