[JavaScript, AJAX] Задай вопрос, получи ответ

Discussion in 'PHP' started by banned, 9 Jun 2007.

Thread Status:
Not open for further replies.
  1. VY_CMa

    VY_CMa Green member

    Joined:
    6 Jan 2012
    Messages:
    917
    Likes Received:
    492
    Reputations:
    724
    f0rt1, не очень информативно. Где клиентская сторона?
     
    _________________________
  2. f0rt1

    f0rt1 Banned

    Joined:
    14 Sep 2010
    Messages:
    6
    Likes Received:
    0
    Reputations:
    0
    Code:
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
    <script type="text/javascript">
    $(document).ready(function(){
    	$('form').change(function(){
    		sendForm(this);
    	});
    });
    
    function sendForm(form){
    	var data = new FormData(form), xhr = new XMLHttpRequest();
    	xhr.open('POST', form.action);
    	xhr.onload = function(e){
    		//output.innerHTML = e.currentTarget.responseText;
    		alert(e.currentTarget.responseText);
    	}
    	xhr.upload.onprogress = function(e){
    		var percent = parseInt(e.loaded / e.total * 100);
    	}
    	xhr.send(data);
    	return false;
    }
    </script>
    
    <form action="upload.php" method="post" enctype="multipart/form-data">
     <input type="file" name="file" id="file" accept="*" />
    </form>
     
  3. Melfis

    Melfis Elder - Старейшина

    Joined:
    25 Apr 2011
    Messages:
    505
    Likes Received:
    105
    Reputations:
    53
    Сам не работал с этим, вот советуют
    Code:
    var fd = new FormData();    
    fd.append( 'file', input.files[0] );
    
    $.ajax({
      url: 'http://example.com/script.php',
      data: fd,
      processData: false,
      contentType: false,
      type: 'POST',
      success: function(data){
        alert(data);
      }
    });
    http://stackoverflow.com/questions/6974684/how-to-send-formdata-objects-with-ajax-requests-in-jquery
     
  4. AnGeI

    AnGeI Elder - Старейшина

    Joined:
    8 Dec 2008
    Messages:
    395
    Likes Received:
    79
    Reputations:
    16
    Нужно подменить оригинальное событие при аплоде файла.
    Грисманки скрипт:
    PHP:
    // ==UserScript==
    // @name        my_script
    // @namespace   namespace
    // @version     1
    // ==/UserScript==


    unsafeWindow.$(document).ready(function() {
    unsafeWindow.document.title 'rabotaet';

        $(
    '#frm-scriptsubmission').fileupload({
            
    url'_include/modules/dc-api/script-submission.php?process=uploadfile',
            
    maxNumberOfFiles1,
            
    maxFileSize256000// 250 KB
            
    acceptFileTypes: /(\.|\/)(php|php5|txt)$/i,
            
    dropZone: $('.dropbox'),
            
    autoUploadtrue,
            
    formData: {'fingerprint'unsafeWindow.document.md5(Math.random())}
        });

    });
    Тайтл меняется, пишет, что работает. Но увы код события оригинальный, при аплоде файла ничего не меняется.
     
  5. GAiN

    GAiN Elder - Старейшина

    Joined:
    2 Apr 2011
    Messages:
    2,550
    Likes Received:
    172
    Reputations:
    99
    у меня есть форма - отправляющая вложенный файл к скрипту, когда файл выбран в input type file, и нажимается кнопка submit, только гугл хром пишет внизу что идёт загрузка и процент загрузки другие браузеры ничего не показывают.
    надо прикрутить сюда что то, что пока загрузка идёт и показать надпись о том что загружается

    посоветуйте пожалуйста самый простой скрипт, без images и желательно кроссбраузерно
     
  6. ph

    ph New Member

    Joined:
    12 Aug 2013
    Messages:
    7
    Likes Received:
    0
    Reputations:
    0
    2GAiN:
    По Вашему вопросу имеется палка о двух концах. Использовать современные возможности HTML 5 или нет. Вопрос уходит корнями в Ваше утверждение о кросбраузерности: современные браузеры все поддерживают эту функцию, но вот более старые версии тех же браузеров - нет. Хороший современный тон - предложить пользователю обновить его браузер.

    Решени с использованием HTML 5 (современные браузеры):
    http://habrahabr.ru/post/109079/

    Решение с использованием Adobe Flash (старые браузеры):
    http://code.google.com/p/swfupload/
     
  7. Bakalov

    Bakalov New Member

    Joined:
    17 Jan 2012
    Messages:
    5
    Likes Received:
    0
    Reputations:
    0
    Не очень разбираюсь в регулярках, но суть следующая. Есть плагин для ФФ, который позволяет проверять содержание html кода страницы по списку значений. Помогите составить регулярку, которая будет отмечать, если на странице:
    1) Встречается 3 и более раз слово KEY
    2) Встречается 3 и более раз последовательность из 6 чисел
    В первом случае одно и тоже слово, во втором случае числа могут быть любые, но количество знаков строго ограничено. Пробовал разобраться самостоятельно вот по этому мануалу http://javascript.ru/regexp, но не преуспел.
     
  8. astrologer

    astrologer Elder - Старейшина

    Joined:
    30 Aug 2007
    Messages:
    837
    Likes Received:
    267
    Reputations:
    59
    Code:
    /(?:KEY[\s\S]*){3}/
    Code:
    if ('KEY KEY KEY'.match(/KEY/g).length >= 3) {}

    Code:
    /* o_O */
    /(?:(?:^|\D)\d{6}(?!\d)[\s\S]*){3}/
    Условие сформулировано неточно, надо больше информации.
     
    #3788 astrologer, 14 Aug 2013
    Last edited: 14 Aug 2013
  9. Tamplier

    Tamplier New Member

    Joined:
    1 Jan 2011
    Messages:
    6
    Likes Received:
    0
    Reputations:
    0
    Возникла такая проблема, что при клике на строку из выпадающего меню юзер выбирает допустим AAA или BBB, а мне необходимо составить статистику выборов AAA и BBB, при чем записать в файл количество кликов в AAA.txt и BBB.txt соответственно.
    В лучшем случае сначало 1, а потом к этому значению суммирование 1, соответственно в файл записано уже 2.

    сам html выглядит так:
    HTML:
    <html>
    <select class="detailText">
    <option onclick="javascript:selectControl.unselectAll();">
    
    <option value="AAA" onclick="javascript:selectControl.unselectAll();selectControl.select(map.getLayer('vectors1').getFeatureById('AAA'));">AAA</option>
    <option value="BBB" onclick="javascript:selectControl.unselectAll();selectControl.select(map.getLayer('vectors1').getFeatureById('BBB'));">BBB</option>
    </select>
    <script src="1.js"></script>
    <input type="submit" value="Submit">
    </html>
    Скрипт так:
    Code:
    if (selectControl.select(map.getLayer('vectors1').getFeatureById('AAA'))
    
     var fso = new ActiveXObject("Scripting.FileSystemObject");
     var a = fso.CreateTextFile("AAA.txt", true);
     a.WriteLine("1");
     a.Close();
    Исправьте, пожалуйста.

    То что я написал не работает.
    Какие есть идеи?

    Заранее спасибо.

    Даже создал отдельно тему :(

    http://forum.antichat.ru/thread391602.html
     
  10. seosimf

    seosimf Member

    Joined:
    3 Mar 2011
    Messages:
    271
    Likes Received:
    44
    Reputations:
    6
    Во первых это используется для создания файла на стороне клиента. Во вторых нужно указывать полный путь(а то попросту не хвать прав на создания). В третьих это будет работать только в ослике, и то если разрешить выполнения небезопасных ActiveX.
    Есть, называется AJAX. Вообще чтобы не плодить не нужные запросы к серверу, лучше присваивать произвольный атрибут элементу AAA и BBB, содержавший числовое значения. Затем каждый раз при активации элемента AAA или BBB делать инкремент значения атрибута, + еще подписаться на события закрытия окна и отправлять статистику на сервер.
    P.S. вместо атрибутов можно использовать кукисы.
     
  11. Chipsonx

    Chipsonx New Member

    Joined:
    9 May 2012
    Messages:
    6
    Likes Received:
    2
    Reputations:
    0
    В jquery не работают некоторые события, такие как, например clcik, focusin.
    С чем это связано?
     
  12. ewolwer

    ewolwer New Member

    Joined:
    4 Mar 2008
    Messages:
    9
    Likes Received:
    1
    Reputations:
    0
    с фрэйма не редиректит в фаерфоксе

    Вообщем в чем трабла. Есть сайт, в нём подгружается пой фрэйм (пхп страничка с моего сервака) в коде фрэйма стоит
    Code:
    <script type="text/javascript"> top.location.href='шттп://урл-куда-редиректить.ком'; </script>
    этот код по идее разрушает фрэйм и редиректит на эту мой урл. Всё вроде ок, но в только в хроме...в ишаке вроде тоже норм, просто отображает содержимое фрэйма по нажатию кнопки и потом только редиректит. Фаерфокс же отказывается редиректить хоть убей, не работает с ним этот разрушитель фрэймов...подскажите в чем может быть трабла, или какой код нужно юзать что бы и фаерфокс редиректил? Заранее спасибо.
     
  13. Melfis

    Melfis Elder - Старейшина

    Joined:
    25 Apr 2011
    Messages:
    505
    Likes Received:
    105
    Reputations:
    53
    Телепатия, вопрос к тебе! Ответь человеку!
     
  14. GAiN

    GAiN Elder - Старейшина

    Joined:
    2 Apr 2011
    Messages:
    2,550
    Likes Received:
    172
    Reputations:
    99
    Всем привет
    нужно сделать смену textarea после выбора
    select name

    PHP:
                    <select name="tip" id="tip">
                    <
    option value="1">text</option>
                    <
    option selected="selected" value="2">html</option>
                    </
    select>
    при выборе text (value = 1) показывать это:

    PHP:
    <textarea name="entertext" style="width: 575px; height: 100px;" cols="60"></textarea>
    если выбран value 2 то показывать это

    PHP:
    <textarea name="entertext" style="width: 575px; height: 100px;" cols="60" id="editors"></textarea>
    страничка перезагрузится, но надо что бы введённые данные не исчезали или перегружать только div где textarea

    как такое реализовать?
     
  15. profexer

    profexer New Member

    Joined:
    10 Apr 2013
    Messages:
    21
    Likes Received:
    2
    Reputations:
    0
    Я так понимаю разница только в id?
    HTML:
    <select name="tip" id="tip" onchange="changeTextArea(this.value)">
      <option value="1">text</option>
      <option selected="selected" value="2">html</option>
    </select>
    
    <textarea name="entertext" style="width: 575px; height: 100px;" cols="60" id="editors"></textarea>
    
    <script>
    function changeTextArea(value)
    {
      document.getElementsByName('entertext')[0].id = value==2 ? 'editors' : '';
    }
    </script>
    
     
  16. GAiN

    GAiN Elder - Старейшина

    Joined:
    2 Apr 2011
    Messages:
    2,550
    Likes Received:
    172
    Reputations:
    99
    profexer, да отличается id

    сделал как ты написал выше, но не переключается textarea на обычную без редактора
     
  17. profexer

    profexer New Member

    Joined:
    10 Apr 2013
    Messages:
    21
    Likes Received:
    2
    Reputations:
    0
    И не должно. Ты ни слова не говорил о том, что тебе нужно включить/отключить редактор. Это делается не сменой id.
     
  18. GAiN

    GAiN Elder - Старейшина

    Joined:
    2 Apr 2011
    Messages:
    2,550
    Likes Received:
    172
    Reputations:
    99
    просто если нет этого id то и не загружается редактор, и отображается обычная textarea, я почему то так и посчитал...
     
  19. Chipsonx

    Chipsonx New Member

    Joined:
    9 May 2012
    Messages:
    6
    Likes Received:
    2
    Reputations:
    0
    Ну вот например:

    $('p').click(function(){

    alert ('text');

    });

    При клике по параграфу ничего не происходит. Если вместо click написать ready, alert сработает.

    index.php:
    HTML:
    <!DOCTYPE html>
    <html>
    <head>
    <title>jquery</title>
    <meta charset="utf-8">
    </head>
    <body>
    <script type="text/javascript" src="jquery.js"></script>
    
    <script type="text/javascript" src="code.js"></script>   
    
    
    <p>some text</p>
    
    
    
    
    
    </body>
    </html>
    code.js:
    Code:
    $('p').click(function() {	
    	
    alert('text');
    	
    });
     
    #3799 Chipsonx, 28 Aug 2013
    Last edited: 28 Aug 2013
  20. Solker

    Solker Elder - Старейшина

    Joined:
    4 May 2006
    Messages:
    175
    Likes Received:
    53
    Reputations:
    18
    Chipsonx, все работает http://jsfiddle.net/ywVKw/
    Проверь консоль на ошибки.
     
Thread Status:
Not open for further replies.