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

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

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

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

    Joined:
    3 Aug 2007
    Messages:
    348
    Likes Received:
    63
    Reputations:
    15
    Какой вопрос, такой ответ.
    Отвечаю: Да, возможно!
     
  2. biophreak

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

    Joined:
    3 Aug 2007
    Messages:
    348
    Likes Received:
    63
    Reputations:
    15
    Code:
    document.write
    e.innerHTML
    e.innerText
    
     
  3. Haifisch

    Haifisch New Member

    Joined:
    27 Apr 2010
    Messages:
    2
    Likes Received:
    0
    Reputations:
    0
    А примерно как?
     
  4. spamoney

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

    Joined:
    26 Dec 2006
    Messages:
    120
    Likes Received:
    7
    Reputations:
    1
    Здравствуйте, помогите решить следующую проблему:

    Есть скрипт для вставки BB кода и сохранения выделения текста (т.е после вставки bb кода текст остаётся выделенным):

    Code:
    function click_bb(aid,Tag) {
      var Open='['+Tag+']';
      var Close='[/'+Tag+']';
    	if (window.attachEvent && navigator.userAgent.indexOf('Opera') === -1) {
    		var doc = document.getElementById(aid);
    		doc.focus();
    		sel = document.selection.createRange();
    		sel.text = Open+sel.text+Close;
    		doc.focus();
        }	else {
    		docs = document.getElementById(aid);
    		var doc = docs[0];
    		var ss = doc.scrollTop;
    		sel1 = doc.value.substr(0, doc.selectionStart);
    		sel2 = doc.value.substr(doc.selectionEnd);
    		sel = doc.value.substr(doc.selectionStart,
    		doc.selectionEnd - doc.selectionStart);
    		var text = doc.firstChild;
    		doc.value = sel1 + Open + sel + Close + sel2;
    		selPos = Open.length + sel1.length + sel.length + Close.length;
    		doc.setSelectionRange(sel1.length, selPos);
    		doc.scrollTop = ss;
    	}
    	return false;
    }
    Если сделать так:

    Code:
    <form name="form_name">
    [B][COLOR=LemonChiffon]<a href="#" onclick="click_bb('area_id', 'b');">[/B]BB - 1[B]</a>[/B][/COLOR]
    <textarea id="area_id" cols="40" rows="4"></textarea>
    </form>
    То всё работает как нужно, если же написать так:

    Code:
    <form name="form_name">
    [B][COLOR=LemonChiffon]<div onclick="click_bb('area_id', 'b');">[/B]BB - 1[B]</div>[/COLOR][/B]
    <textarea id="area_id" cols="40" rows="4"></textarea>
    </form>
    то в IE 6,7 срабатывает не правильно (тэги вставляются на текужее положение курсора и выделение не сохраняется)

    Как можно исправить JavaScript, таким образом, что бы второй вариант работал верно?
     
  5. DiHWO

    DiHWO Member

    Joined:
    23 Oct 2009
    Messages:
    93
    Likes Received:
    10
    Reputations:
    0
    как сделать так, чтобы при изменении текста в текстареа, в другой элемент (например просто <div>) что-нибудь записывалось. Например на <textarea> стоит onchange, и надо чтобы когда onchange сработал в <div> записалось чтонить через document.write
     
  6. SHiNiGaMi

    SHiNiGaMi Banned

    Joined:
    3 Jan 2010
    Messages:
    382
    Likes Received:
    55
    Reputations:
    15
    Code:
    var arr_addres = new Array(адреса...);
    
    for (i=0;i<=arr_addres.length;i++)
    {
     window.open(arr_addres[i]);
    }
    
     
    #2306 SHiNiGaMi, 28 Apr 2010
    Last edited: 28 Apr 2010
  7. w_2k

    w_2k New Member

    Joined:
    23 Jul 2008
    Messages:
    29
    Likes Received:
    1
    Reputations:
    0
    Можно наверно так сделать:
    Code:
    <script type="text/javascript">
    function do_it(){
     document.getElementById("test").innerHTML = text.value;
    }
    </script>
    <textarea onchange=do_it(); name="text"></textarea>
    <div id="test"></div>
    
     
    1 person likes this.
  8. DiHWO

    DiHWO Member

    Joined:
    23 Oct 2009
    Messages:
    93
    Likes Received:
    10
    Reputations:
    0
    w_2k, спс. Теперь другой вопрос, Что надо написать чтобы в переменную занесся текст из textarea?
    Code:
    var text = document.getElementById("textarea_id") //Что сюда дописать?
    
     
  9. phpdreamer

    phpdreamer Member

    Joined:
    26 Jul 2009
    Messages:
    522
    Likes Received:
    86
    Reputations:
    19
    .value;
     
    1 person likes this.
  10. Fepsis

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

    Joined:
    17 Sep 2008
    Messages:
    791
    Likes Received:
    391
    Reputations:
    72
    Мне нужно замутить нечно следующее: я из джава скрипта гет запросом запускаю php скрипт, и потом опять же джава скриптом вывожу результат его работы на странице... Но пхп цуко пока целиком не отработает, результат не выдаст, а он (результат) появляется порциями..
    Как лучше тут организовать обмен данными, чтобы джава скрипт мог результат выдавать порционально, а не после того, как целиком отработает пхп скрипт..?!
     
  11. w_2k

    w_2k New Member

    Joined:
    23 Jul 2008
    Messages:
    29
    Likes Received:
    1
    Reputations:
    0
    Пример php скрипта покажи
     
  12. Fepsis

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

    Joined:
    17 Sep 2008
    Messages:
    791
    Likes Received:
    391
    Reputations:
    72
    Вот примерно так:
    index.htm
    PHP:
    <html>
    <
    head>

    <
    script language="Javascript">

    var 
    request null;

    function 
    _get(url)
         {
        if(!
    url) return 0;
        var 
    xmlhttp;
        try
             {
            if (
    window.XMLHttpRequest)
                 {
                
    xmlhttp=new XMLHttpRequest();
                 }
            else if (
    window.ActiveXObject)
                 {
                
    xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
                 }
            
    xmlhttp.open("GET",url,false);
            
    xmlhttp.send(null);
            if (
    xmlhttp.readyState==4)
                 {
                return 
    xmlhttp.responseText;
                 }
             }
        catch(
    er){}

        return 
    null;
         }

    function 
    get_res(url)
         {
        var 
    res;
        
    document.getElementById("result").innerHTML 'Ожидание результат';
        
    res _get(url);
        
    document.getElementById("result").innerHTML res;
         }

    </script>

    </head>    
    <body>
    <input type="button" value="Ok" onclick=" get_res('script.php');">
    <div id="result"></div>
    </body>
    </html>
    при нажатии на кнопку на странице идёт запрос на скрипт script.php, в нём допустим это:
    PHP:
    <?php

    for($i 1$i <= 5$i++)
         {
        print ( 
    $i.'<br>');
        
    sleep(1);
         }

    ?>
    Так вот, через 5 сек после нажатия на кнопку на странице появляются сразу 5 цифер, а я хочу, чтобы каждую секунду появлялась новая цивра (не все сразу) и такая реализация этого не позволяет осуществить.. Так вот и вопрос отсюда, а как реализовать..?!

    скрипт с выводом циферок - пример, не предлагайте выводить циферки джава скриптом.. ;)
     
  13. apolon47

    apolon47 Banned

    Joined:
    13 Apr 2009
    Messages:
    119
    Likes Received:
    14
    Reputations:
    4
    может попробывать тоже делать циклом отправку?

    т.е

    Code:
    for(i=0; i<=5; i++){
    get_res();
    }
    при этом передавая уникальный идентификатор?

    для js предпочитаю фреймворк jquery. посмотри
    http://www.linkexchanger.su/2008/73.html

    будут вопросы пиши в pm
     
  14. spamoney

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

    Joined:
    26 Dec 2006
    Messages:
    120
    Likes Received:
    7
    Reputations:
    1
    Здравствуйте, такой вопрос как можно вынести обработчик события onchange из textarea в скрипт, т.е из:

    Code:
    <textarea id="my_id" cols="40" rows="4" onchange="alert('Alert')"></textarea>
    нужно сделать, что-то типа этого:
    Code:
    <script>       
    document.getElementById('my_id').onchange(alert('Alert'));
    </script>
    <textarea id="my_id" cols="40" rows="4"></textarea>
    
    но только что бы работало, пытался сам но не выходит...
     
    #2314 spamoney, 30 Apr 2010
    Last edited: 30 Apr 2010
  15. LStr1ke

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

    Joined:
    29 Jul 2009
    Messages:
    801
    Likes Received:
    145
    Reputations:
    73
    spamoney

    <textarea onchange="alert('ololo');"></textarea>
    Всее.
    Просто введи туда чтонить, потом выбери другой элемент или просто уйди из фокуса textarea и появится алерт.
    onChange - срабатывает, когда элемент теряет фокус и когда в нем появились изменения.
     
  16. spamoney

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

    Joined:
    26 Dec 2006
    Messages:
    120
    Likes Received:
    7
    Reputations:
    1
    Это я знаю, мне нужно именно вынести обработчик из самого textarea, т.е сделать что-то типа этого:

    Code:
    <script>       
    document.getElementById('my_id').onchange(alert('A lert'));
     </script>
    
    <textarea id="my_id" cols="40" rows="4"></textarea>
    
    но что б работало...
     
  17. #Wolf#

    #Wolf# Elder - Старейшина

    Joined:
    26 Mar 2008
    Messages:
    375
    Likes Received:
    166
    Reputations:
    16
    PHP:
    <textarea id="my_id" cols="40" rows="4"></textarea>
    <
    script>
    obj document.getElementById("my_id");
    obj.onchange = function(){alert('hi');};
    //obj.onchange();
    </script>
     
     
    2 people like this.
  18. DiHWO

    DiHWO Member

    Joined:
    23 Oct 2009
    Messages:
    93
    Likes Received:
    10
    Reputations:
    0
    Есть текст: "<b>лол</b>"
    Как сделать так, чтобы если выделить этот текст и нажать на кнопку, теги стерлись, тоесть остался бы такой текст: "лол". Ну, как на ачате.
     
  19. LStr1ke

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

    Joined:
    29 Jul 2009
    Messages:
    801
    Likes Received:
    145
    Reputations:
    73
    PHP:
    <html>
    <
    head>
    <
    script type="text/javascript" src="http://forum.antichat.ru/clientscript/vbulletin_global.js"></script>
    </head>
    <body onload="editInit();">
    <script type="text/javascript" src="http://forum.antichat.ru/clientscript/vbulletin_editor.js"></script>
    <script type="text/javascript" src="http://forum.antichat.ru/clientscript/vbulletin_stdedit.js"></script>
    <script type="text/javascript">
    var normalmode = true;
    var vbphrase = {
            "enter_text_to_be_formatted" : "Введите форматируемый текст"
    };
    </script>
    <a href="#" onclick="return vbcode('B', '')" accesskey="b">B</a>
    <a href="#" onclick="return vbcode('I', '')" accesskey="i">I</a>
    <a href="#" onclick="return vbcode('U', '')" accesskey="u">U</a>

    <form name="vbform" method="post" >
    <textarea  id="message" cols="50" rows="20">
     ololololololo lololol ololo lol ol 
    </textarea>    
    </form>
    </body>
    </html>
     
  20. DiHWO

    DiHWO Member

    Joined:
    23 Oct 2009
    Messages:
    93
    Likes Received:
    10
    Reputations:
    0
    LStr1ke, эээ не мог бы ты дать просто кусок js кода, который удаляет нужный тег из текста? Я полностью ачатовский скрипт подключать не хочу. А в js плохо шарю, и сам найти нужный фрагмент кода из всего js файла не могу.
     
Thread Status:
Not open for further replies.