Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Как в модальном окне сделать что либо с js

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (2): [1] 2 »   

> Без описания
ridvik
Отправлено: 08 Февраля, 2014 - 21:46:20
Post Id


Частый гость


Покинул форум
Сообщений всего: 244
Дата рег-ции: Нояб. 2011  


Помог: 0 раз(а)

[+]


Доброй ночи. Второй день бьюсь над этой задачей. Есть скрипт arcticalmodal(выводит модальные окна, очень нравится). Перейду собственно к проблеме. Вызываю модальное окно, там для примера взял текстовое поле. Нужно сделать что бы туда можно было вписать не более трех цифр, именно только цифры. То бишь ограничение я сделал, прописал maxlength, далее сделал регулярное выражение к этому текстовому полю. И он не как не реагирует, вообще. То есть если запустить без модального окна, то все гуд работает. не придерешься, с модальным окном не работает вообще. Подскажите пожалуйста, как решить данную проблему.
 
 Top
ridvik
Отправлено: 09 Февраля, 2014 - 09:51:44
Post Id


Частый гость


Покинул форум
Сообщений всего: 244
Дата рег-ции: Нояб. 2011  


Помог: 0 раз(а)

[+]


Народ, ау, не уж то не кто не знает как с этим бороться?
 
 Top
tuareg
Отправлено: 09 Февраля, 2014 - 09:55:32
Post Id


Участник


Покинул форум
Сообщений всего: 1234
Дата рег-ции: Июнь 2010  


Помог: 69 раз(а)




Знает, только надо код смотреть.
 
 Top
KingStar
Отправлено: 09 Февраля, 2014 - 09:57:13
Post Id



Участник


Покинул форум
Сообщений всего: 1889
Дата рег-ции: Авг. 2011  
Откуда: Беларусь


Помог: 69 раз(а)




с чем бороться???


-----
То что программа работает, не означает что она написана правильно!
 
 Top
ridvik
Отправлено: 09 Февраля, 2014 - 10:04:20
Post Id


Частый гость


Покинул форум
Сообщений всего: 244
Дата рег-ции: Нояб. 2011  


Помог: 0 раз(а)

[+]


Вот весь код =)) Помогите пожалуйста.
CODE (htmlphp):
скопировать код в буфер обмена
  1. <?php
  2. function main() {
  3. global $main;
  4.         main::add2script("includes/javascript/jquery/jquery.arcticmodal-0.3.min.js");
  5.    main::add2link("includes/javascript/jquery/jquery.arcticmodal-0.3.css");
  6.    main::add2link("includes/javascript/jquery/themes/dark.css");
  7. ?>
  8. <script>
  9. $(function() {
  10. $('#quantity').bind("change keyup input click", function() {
  11.    if (this.value.match(/[^0-9]/g)) {
  12.        this.value = this.value.replace(/[^0-9]/g, '');
  13.    }
  14. });
  15. });
  16. $(function() {
  17. $("#click").click(function () {
  18. $.arcticmodal({
  19.    type: 'ajax',
  20.    url: 'index.php?module=test4&do=test',
  21.    ajax: {
  22.        type: 'POST',
  23.        cache: false,
  24.        dataType: 'html',
  25.        success: function(data, el, responce) {
  26.            var h = $('<div class="box-modal">' +
  27.                    '<div class="box-modal_close arcticmodal-close">X</div>' +
  28.                    responce  +
  29.                    '</div>');
  30.            //$('B', h).html(responce.title);
  31.            //$('P:last', h).html(responce.text);
  32.            data.body.html(h);
  33.        }
  34.    }
  35. });
  36. });
  37. });
  38. </script>
  39. <?php
  40. echo "<div id='click'>Click</div><br />";
  41. echo "<input type='text' maxlength='3' name='quantity' id='quantity'/> <span id='errmsg'>Нет информации</span>";
  42. }
  43. function test () {
  44. global $main;
  45.         echo "<input type='text' maxlength='3' name='quantity' id='quantity'/> <span id='errmsg'>Нет информации</span>";
  46.         //echo "Hello world";
  47. ?>
  48. <script>
  49. $(function() {
  50. $('#quantity').bind("change keyup input click", function() {
  51.    if (this.value.match(/[^0-9]/g)) {
  52.        this.value = this.value.replace(/[^0-9]/g, '');
  53.    }
  54. });
  55. });
  56. </script>
  57. <?php
  58.         $arr = array('a' => 1, 'b' => 2, 'c' => 3, 'd' => 4, 'e' => 5);
  59.  
  60. //echo json_encode($arr);
  61. }
  62. if(isset($_GET['do'])){
  63.         if($_GET['do']=='test'){
  64.                 test();
  65.         }
  66.         if($_GET['do']=='get'){
  67.                 get_games();
  68.         }
  69.         if($_GET['do']=='table'){
  70.                 table();
  71.         }
  72.         if($_GET['do']=='update_status'){
  73.                 status_update();
  74.         }
  75.         if($_GET['do']=='geo'){
  76.                 geo();
  77.         }
  78. }else main();
  79. ?>
 
 Top
KingStar
Отправлено: 09 Февраля, 2014 - 10:19:57
Post Id



Участник


Покинул форум
Сообщений всего: 1889
Дата рег-ции: Авг. 2011  
Откуда: Беларусь


Помог: 69 раз(а)




CODE (javascript):
скопировать код в буфер обмена
  1.  $('#quantity').bind("change keyup input click", function(x) {
  2.        if (x.value.match(/[^0-9]/g)) {
  3.            x.value = x.value.replace(/[^0-9]/g, '');
  4.        }
  5.     });

(Добавление)
или через

CODE (javascript):
скопировать код в буфер обмена
  1. $(this).value .....


-----
То что программа работает, не означает что она написана правильно!
 
 Top
ridvik
Отправлено: 09 Февраля, 2014 - 10:27:18
Post Id


Частый гость


Покинул форум
Сообщений всего: 244
Дата рег-ции: Нояб. 2011  


Помог: 0 раз(а)

[+]


Понимаете, такое чувство как-будто он на js вообще не реагирует в модальном окне, вот в чем проблема(
 
 Top
KingStar
Отправлено: 09 Февраля, 2014 - 10:28:59
Post Id



Участник


Покинул форум
Сообщений всего: 1889
Дата рег-ции: Авг. 2011  
Откуда: Беларусь


Помог: 69 раз(а)




а, ну дык в код модального нужно добавить обработчик твоих полей
(Добавление)
я полагаю этот код отвечает за модалку

CODE (javascript):
скопировать код в буфер обмена
  1. $(function() {
  2.     $("#click").click(function () {
  3.     $.arcticmodal({
  4.        type: 'ajax',
  5.        url: 'index.php?module=test4&do=test',
  6.        ajax: {
  7.            type: 'POST',
  8.            cache: false,
  9.            dataType: 'html',
  10.            success: function(data, el, responce) {
  11.                var h = $('<div class="box-modal">' +
  12.                        '<div class="box-modal_close arcticmodal-close">X</div>' +
  13.                        responce  +
  14.                        '</div>');
  15.                //$('B', h).html(responce.title);
  16.                //$('P:last', h).html(responce.text);
  17.                data.body.html(h);
  18.            }
  19.        }
  20.     });
  21.     });
  22.     });
  23.  

следовательно в нем и обработай поле


-----
То что программа работает, не означает что она написана правильно!
 
 Top
ridvik
Отправлено: 09 Февраля, 2014 - 10:31:32
Post Id


Частый гость


Покинул форум
Сообщений всего: 244
Дата рег-ции: Нояб. 2011  


Помог: 0 раз(а)

[+]


Вот эта функция у меня отображается в модальном окне, то бишь текстовое поле и рядом с ним текст. Если это подгрузить без модального окна, то все работает. А в нем, увы.
CODE (htmlphp):
скопировать код в буфер обмена
  1. function test () {
  2. global $main;
  3.         echo "<input type='text' maxlength='3' name='quantity' id='quantity'/> <span id='errmsg'>Нет информации</span>";
  4.         //echo "Hello world";
  5. ?>
  6. <script>
  7. $(function() {
  8. $('#quantity').bind("change keyup input click", function(x) {
  9.       if (x.value.match(/[^0-9]/g)) {
  10.           x.value = x.value.replace(/[^0-9]/g, '');
  11.       }
  12.    });
  13. });
  14. </script>
  15. <?php
  16.         $arr = array('a' => 1, 'b' => 2, 'c' => 3, 'd' => 4, 'e' => 5);
  17.  
  18. //echo json_encode($arr);
  19. }
 
 Top
KingStar
Отправлено: 09 Февраля, 2014 - 10:50:32
Post Id



Участник


Покинул форум
Сообщений всего: 1889
Дата рег-ции: Авг. 2011  
Откуда: Беларусь


Помог: 69 раз(а)




я тебе говорю одно, а то другое

за модальное окно отвечает твоя другая функция, и обрабатывать нужно в ней, или именными функциями можешь проверить


-----
То что программа работает, не означает что она написана правильно!
 
 Top
ridvik
Отправлено: 09 Февраля, 2014 - 11:03:38
Post Id


Частый гость


Покинул форум
Сообщений всего: 244
Дата рег-ции: Нояб. 2011  


Помог: 0 раз(а)

[+]


KingStar пишет:
я тебе говорю одно, а то другое

за модальное окно отвечает твоя другая функция, и обрабатывать нужно в ней, или именными функциями можешь проверить

Извините, когда я прочитал ваше сообщение, я прочитал только начало. Видимо вы добавили в нем сообщение уже позже, как я ответил. Не подскажите, как мне обработать поле в нем? Я новичек, и поэтому даже если и прочитаю что-то, то могу не понять, и порой требуется объяснение. Помогите пожалуйста.
 
 Top
KingStar
Отправлено: 09 Февраля, 2014 - 11:14:03
Post Id



Участник


Покинул форум
Сообщений всего: 1889
Дата рег-ции: Авг. 2011  
Откуда: Беларусь


Помог: 69 раз(а)




что-то вроде того, проверять нужно

CODE (javascript):
скопировать код в буфер обмена
  1. $(function() {
  2.     $("#click").click(function () {
  3.     $.arcticmodal({
  4.        type: 'ajax',
  5.        url: 'index.php?module=test4&do=test',
  6.        ajax: {
  7.            type: 'POST',
  8.            cache: false,
  9.            dataType: 'html',
  10.            success: function(data, el, responce)
  11.                    {
  12.                            
  13.                            
  14.                var h = $('<div class="box-modal">' +
  15.                        '<div class="box-modal_close arcticmodal-close">X</div>' +
  16.                                            '<input type="text" maxlength="3" name="quantity" id="quantity"/> <span id="errmsg">Нет информации</span>' +
  17.                                            responce  +
  18.                        '</div>');
  19.                                    
  20.                                 $('#quantity').bind("change keyup input click", function() {
  21.                                    if (this.value.match(/[^0-9]/g)) {
  22.                                            this.value = this.value.replace(/[^0-9]/g, '');
  23.                                    }
  24.                                 });
  25.                    
  26.                //$('B', h).html(responce.title);
  27.                //$('P:last', h).html(responce.text);
  28.                data.body.html(h);
  29.            }
  30.        }
  31.     });
  32.     });
  33. });


я так не пишу, поэтому проверяй, думаю подстроишь


-----
То что программа работает, не означает что она написана правильно!
 
 Top
ridvik
Отправлено: 09 Февраля, 2014 - 11:22:55
Post Id


Частый гость


Покинул форум
Сообщений всего: 244
Дата рег-ции: Нояб. 2011  


Помог: 0 раз(а)

[+]


Окно открывается, но все равно не срабатывает, такое чувство как будто скрипт не передается.
CODE (htmlphp):
скопировать код в буфер обмена
  1. $(function() {
  2.     $("#click").click(function () {
  3.     $.arcticmodal({
  4.        type: 'ajax',
  5.        url: 'index.php?module=test4&do=test',
  6.       ajax: {
  7.           type: 'POST',
  8.           cache: false,
  9.           dataType: 'html',
  10.           success: function(data, el, responce)
  11.                   {
  12.                          
  13.                          
  14.               var h = $('<div class="box-modal">' +
  15.                       '<div class="box-modal_close arcticmodal-close">X</div>' +
  16.                                           '<input type="text" maxlength="3" name="quantity" id="quantity"/> <span id="errmsg">Нет информации</span>' +
  17.                                           responce  +
  18.                       '</div>'
  19.                                +   "<script>" +
  20.                                $('#quantity').bind("change keyup input click", function() {
  21.                                   if (this.value.match(/[^0-9]/g)) {
  22.                                           this.value = this.value.replace(/[^0-9]/g, '');
  23.                                    }
  24.                                 }) + "</script>"
  25.                    );
  26.                data.body.html(h);
  27.            }
  28.        }
  29.     });
  30.     });
  31. });


Думал вот так сделать, то же не работает.
 
 Top
KingStar
Отправлено: 09 Февраля, 2014 - 11:43:43
Post Id



Участник


Покинул форум
Сообщений всего: 1889
Дата рег-ции: Авг. 2011  
Откуда: Беларусь


Помог: 69 раз(а)




зачем его вставлять на страницу, у тебя уже загружается функция обработки клика, в ней нужно не вставлять на страницу как это ты делаешь, а уже обрабатывать события


вот тебе выковырял из своих

CODE (javascript):
скопировать код в буфер обмена
  1.  
  2.  
  3. function isnum(e, k)
  4. {
  5.  
  6. var keynum, keychar, numcheck, return2, val;
  7.  
  8.         if(window.event)
  9.         {
  10.                 keynum = e.keyCode;
  11.         }
  12.         else if(e.which)
  13.         {
  14.                 keynum = e.which;
  15.         }
  16.  
  17.         keychar = String.fromCharCode(keynum);
  18.  
  19.         if (keynum < 48 || keynum > 57)
  20.         {
  21.                 return2 = false;
  22.                 if (keynum == 8) return2 = true;
  23.         }
  24.         else
  25.         {
  26.                 return2 = true;
  27.         }
  28.  
  29.  
  30.         var numreg = /^\d*$/;
  31.         val = k.value;
  32.  
  33.  
  34.         if (!numreg.test(val) && keynum != 8)
  35.         {
  36.                 alert('Ввод только ичсел!!!');
  37.                 k.value = '';
  38.                 return2 = false;
  39.         }
  40.  
  41.         return return2;
  42.  
  43. }
  44.  
  45.  


применяешь

CODE (html):
скопировать код в буфер обмена
  1. <input type="text" maxlength="3" name="quantity" onkeypress="return isnum(event, this);" />


-----
То что программа работает, не означает что она написана правильно!
 
 Top
ridvik
Отправлено: 09 Февраля, 2014 - 13:28:08
Post Id


Частый гость


Покинул форум
Сообщений всего: 244
Дата рег-ции: Нояб. 2011  


Помог: 0 раз(а)

[+]


Спасибо) В хроме вроде как работает) Сейчас в других браузерах потестирую) И еще вопрос, а как же теперь мне делать, например при загрузке модального окна, на нем у меня есть див с ид=errmsg. как мне через js заполнить его? То бишь списать что-нибудь в него?)
 
 Top
Страниц (2): [1] 2 »
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« JavaScript & VBScript »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB