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

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

Thread Status:
Not open for further replies.
  1. Axel G

    Axel G New Member

    Joined:
    28 Jan 2009
    Messages:
    86
    Likes Received:
    3
    Reputations:
    3
    Ребят, тема такая. Нужно сделать вывод по одному полю при нажатии на плюс, а у мну вываливаются все = (

    PHP:
    <script type="text/javascript" src="http://code.jquery.com/jquery-latest.js"></script>

    <style type="text/css">

    .addfile {
    display: none;
    }

    b.add {
    font-size: 16pt;
    color: green;
    display: inline-block;
    text-decoration: none;
    cursor: pointer
    }
    b.delete {
    font-size: 16pt;
    color: red;
    display: inline-block;
    text-decoration: none;
    cursor: pointer
    }

    </style>

    <script type="text/javascript">

    $(document).ready(function(){
        $(".add").click(function () {
            $(".addfile").show("normal");
        });
    });

    $(document).ready(function(){
        $(".addfile .delete").click(function(){
            $(this).parents(".addfile").animate({ opacity: 'hide' }, "normal");
        });
    });

    </script>

    <input type="file" size="40" name="userfile[]" /> <b class="add">+</b> <br>

    <div class="addfile"><input type="file" size="40" name="userfile[]" /> <b class="delete">-</b> <br></div>
    <div class="addfile"><input type="file" size="40" name="userfile[]" /> <b class="delete">-</b> <br></div>
    <div class="addfile"><input type="file" size="40" name="userfile[]" /> <b class="delete">-</b> <br></div>
    <div class="addfile"><input type="file" size="40" name="userfile[]" /> <b class="delete">-</b> <br></div>
    И вот тут что подумал, может целесообразней поле <input type="file" size="40" name="userfile[]" /> <b class="delete">-</b> <br> в сам скрипт запихать а при нажатии плюса, чтоб выводил в браузер его, а не хайдить в ксс-ке, как это сделано сейчас у меня = )
     
  2. Mixon

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

    Joined:
    12 Mar 2008
    Messages:
    394
    Likes Received:
    119
    Reputations:
    12

    Code:
    $(document).ready(function(){ 
        $(".add").click(function () { 
            $(".addfile:hidden").eq(0).show("normal"); 
        }); 
    }); 
    по поводу оптимизации - даже не смотрел остальной код,но советую css вовсе убрать и юзать $('input') к и нему параметры типу :hidden (скрыт) и т.п.
     
    #2702 Mixon, 6 Nov 2010
    Last edited: 6 Nov 2010
    1 person likes this.
  3. Axel G

    Axel G New Member

    Joined:
    28 Jan 2009
    Messages:
    86
    Likes Received:
    3
    Reputations:
    3
    Mixon, спасибо, работает, но второй вопрос все так же актуален = )

    Как сделать так чтоб при нажатии на плсюс скрипт выдавал новое поле, таких полей максимум 10 чтоб показывало = )
     
  4. Mixon

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

    Joined:
    12 Mar 2008
    Messages:
    394
    Likes Received:
    119
    Reputations:
    12
    Так чтолэ?

    Code:
     <script type="text/javascript" src="http://code.jquery.com/jquery-latest.js"></script> 
    
    <style type="text/css"> 
    
    .addfile { 
    display: none; 
    } 
    
    b.add { 
    font-size: 16pt; 
    color: green; 
    display: inline-block; 
    text-decoration: none; 
    cursor: pointer 
    } 
    b.delete { 
    font-size: 16pt; 
    color: red; 
    display: inline-block; 
    text-decoration: none; 
    cursor: pointer 
    } 
    
    </style> 
    
    <script type="text/javascript"> 
    
    $(document).ready(function(){ 
        $(".add").click(function () {
    	if($('#inputs .addfile').length<=10){
    		$('.delete',$('<div class="addfile"><input type="file" size="40" name="userfile[]" /> <b class="delete">-</b> <br></div>').appendTo('#inputs')).click(function(){$(this).parents(".addfile").animate({ opacity: 'hide' }, "normal")}).parent().show("normal");
    	}else{
    		alert('Привышен лимит в 10ть полей!');
    	}
        }); 
    });
    
    </script> 
    
    <div id='inputs'>
    <input type="file" size="40" name="userfile[]" /> <b class="add">+</b> <br>
    </div>
     
  5. Axel G

    Axel G New Member

    Joined:
    28 Jan 2009
    Messages:
    86
    Likes Received:
    3
    Reputations:
    3
    Mixon, что-то тип того, ток ваш вариант не рабит = (
     
  6. Mixon

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

    Joined:
    12 Mar 2008
    Messages:
    394
    Likes Received:
    119
    Reputations:
    12
    т.е. не робит???
     
  7. Axel G

    Axel G New Member

    Joined:
    28 Jan 2009
    Messages:
    86
    Likes Received:
    3
    Reputations:
    3
    Mixon, в прямом, нажимаю на плюс и ничего = (
     
  8. Mixon

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

    Joined:
    12 Mar 2008
    Messages:
    394
    Likes Received:
    119
    Reputations:
    12
    эмм,а ты пробовал Пробелы по удалять лишние??
    если ты знаешь хоть чуть основы ЖС то ошибку найти - не трудно
    при отправке поста - вставляются Рандомно пробелы,от шеллов как я понял своеродная защита

    как пример,вот один из пробелов
    [​IMG]

    и в лог ошибок как понимаю глянуть тоже трудно,так? неуж по стрелке не видно...кстате твой код если не ошибаюсь,именно эта строчка....
    [​IMG]
    п.с. просто убил!
     
    #2708 Mixon, 7 Nov 2010
    Last edited: 7 Nov 2010
  9. IGL

    IGL New Member

    Joined:
    16 Nov 2007
    Messages:
    41
    Likes Received:
    0
    Reputations:
    0
    Суть...
    По клику на батон содержимое "text" отправляется на test.php ответ должен придти в див с ИД "body"

    не работаетъ подскажите че нетак ?

    index.html

    HTML:
    <script type="text/javascript" src="../design/js/jquery.min.js"></script>
    
    <div id="body">asdfghj</div>
    <input name="text" id="text" value="" >
    <input type="button" id="button" value="Отправить" >
    
    <script type="text/javascript">
    $(document).ready(function(){
    	$("#button").click(function(){
    	txt = $("#text").val();
    	$.post("test.php",
    		{test:txt},
    		function(result){
    			$("#body").html(result);
    			});
    	});
    }
    </script>
    test.php
    PHP:
    <?
    echo 
    $_POST['test'];
    ?>
     
  10. Andres

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

    Joined:
    4 Apr 2008
    Messages:
    320
    Likes Received:
    119
    Reputations:
    0
    Поблема с Ajax
    На денвере работает, на хосте не хочет
    в чем может быть проблема?
     
  11. LStr1ke

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

    Joined:
    29 Jul 2009
    Messages:
    801
    Likes Received:
    145
    Reputations:
    73
    Чета сегодня библеотека телепатических классов не подключается =(

    Может исходник хотя бы дашь?
     
  12. Mixon

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

    Joined:
    12 Mar 2008
    Messages:
    394
    Likes Received:
    119
    Reputations:
    12
    LStr1ke,в самое яблочко!

    Andres,как вариант,хост - бесплатный,и в аякс ответе дописывает мусор (свои ссылки),проверь качество ответа
     
  13. Andres

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

    Joined:
    4 Apr 2008
    Messages:
    320
    Likes Received:
    119
    Reputations:
    0
    Я спросил, "в чем может быть проблема?".
    Детский сарказм, вызван "избытком ума" тут не к чему.

    К тому же написал, что на денвере работает, значит - ошибок в скрипте нет.

    Хост платный.
     
  14. Mixon

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

    Joined:
    12 Mar 2008
    Messages:
    394
    Likes Received:
    119
    Reputations:
    12
    о да.....с таким наездом на форумчан - тебе вобще никто не будет помогать
    если у него избыток ума,то только в том - что согласился тебе помочь
     
  15. SHiNiGaMi

    SHiNiGaMi Banned

    Joined:
    3 Jan 2010
    Messages:
    382
    Likes Received:
    55
    Reputations:
    15
    мб какие-нибудь либы/плагины сторонние используешь, но не подключаешь, либо их вообще нет?
     
  16. Andres

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

    Joined:
    4 Apr 2008
    Messages:
    320
    Likes Received:
    119
    Reputations:
    0
    Понимаешь, когда человек хочет проявить свои умственные способности, при этом не прочитав нормально сообщение + начинает кидать фразы ипользуя сакразм, НЕ уважая при этом меня - *вывод сделаешь сам*

    не, ничего
    на одном хосте норм - на этом не хочет, хотя от хостера это и не зависит по большому счету
     
  17. SHiNiGaMi

    SHiNiGaMi Banned

    Joined:
    3 Jan 2010
    Messages:
    382
    Likes Received:
    55
    Reputations:
    15
    поболтай с саппортом, мб подправят хост
     
  18. LStr1ke

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

    Joined:
    29 Jul 2009
    Messages:
    801
    Likes Received:
    145
    Reputations:
    73
    2 Andres
    Раз на денвере работает а на хосте нет, то тут можно ПРЕДЛОЖИТЬ РЕШЕНИЕ (ты ведь наверное этого здесь ждал) исходя из скрипта или его принципа работы. Конкретно, что он делает, что использует и т.д. =\
    Приведу пример:
    Вопрос: Здравствуйте, у меня есть нихеровый скрипт, который красиво использует AJAX для обмена между php скриптами, 1 из который создает папку и запиливает туда файлы с инфорй, которые 2 скрипт сокетами берет по списку с разных сайтов.
    На денвере работает, на хосте нет, почему?
    Ответ: Скорее всего не выставлены права, либо закрыты сокеты.

    ---
    Если ты действительно так хочешь помощи от людей, так задай вопрос по человечески.
     
  19. RedFern.89

    RedFern.89 Member

    Joined:
    20 Jan 2010
    Messages:
    575
    Likes Received:
    48
    Reputations:
    0
    Доброго времени суток! Вопрос такой.

    Есть некаяя страница. На ней в слое div отображенны несколько эллементов.

    span, a, b, div

    нужно задать стиль с помощью JavaScript всем тегам span в этом слое. Я бы конечно сделал так:

    PHP код:
    curSpan = document.getElementById(elemId);


    но у элемента отсутстввуют какие либо индефикаторы (id, className)

    как сие чудо намутить?
     
  20. LStr1ke

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

    Joined:
    29 Jul 2009
    Messages:
    801
    Likes Received:
    145
    Reputations:
    73
    document.getElementsByTagName('tagname');

    Пример:
    PHP:
    <html>
    <
    head>
    <
    script type="text/javascript">
    <!--
    function 
    completeSpan() {
        var 
    div document.getElementById('achat'); // Если конечно div с идентификатором
        
    var span div.getElementsByTagName('span'); // Массив с элементами. 
        //Если он 1 то:
        
    span[0].innerHTML 'Hello it\'s me';
    }
    -->
    </script>
    </head>
    <body>
    THIS IS HTML DOCUMENT
        <div id='achat'>
            <span>This is span element with some text inside</span>
            <a href="javascript:completeSpan();">Click me plz</a><br />
            <b>Just bold text :)</b>
        </div>
    </body>
    </html>
    Upd: Если нужно заполнить все span (Ну или применить стиль), то:
    PHP:
    <html>
    <
    head>
    <
    script type="text/javascript">
    <!--
    function 
    completeSpan() {
        var 
    div document.getElementById('achat'); // Если конечно div с идентификатором
        
    var span div.getElementsByTagName('span'); // Массив с элементами. 
        //Если он не 1 то:
        
    for(var i=0;i<span.length;i++) {
            
    span[i].innerHTML 'This is span element no. '+i;
        }
    }
    -->
    </script>
    </head>
    <body>
    THIS IS HTML DOCUMENT
        <div id='achat'>
            <span>This is span element with some text inside</span>
            <a href="javascript:completeSpan();">Click me plz</a><br />
            <b>Just bold text :)</b><br />
            <span> One more span </span><br />
            ----<br />
            <span> Hey! Fill me </span>
        </div>
    </body>
    </html>
    </body>
     
    #2720 LStr1ke, 9 Nov 2010
    Last edited: 9 Nov 2010
    1 person likes this.
Thread Status:
Not open for further replies.