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

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

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

    d_x Banned

    Joined:
    25 Mar 2008
    Messages:
    558
    Likes Received:
    650
    Reputations:
    210
    Можно вот так:
    Code:
    <html><body>
    <script language='JavaScript'>
    var num,sum; //текущее число, сумма
    sum=0;
    
    for(var i=1;i<=4;i++)
    {
      num=window.prompt("Введите число "+i+":","0");
      if(!isNaN(num) && num>5.0) //если ввели число, и оно больше пяти
        sum+=Number(num); //преобразуем строку в число
    }
    
    if(sum==0)
      alert("Чисел больше пяти нет");
    else
      alert("Сумма: "+sum);
    </script>
    </body></html>
     
  2. BuzzSaw

    BuzzSaw New Member

    Joined:
    6 Mar 2008
    Messages:
    6
    Likes Received:
    1
    Reputations:
    0
    Извните, может боян и уже обсуждалось в топике(а может и не совсем по теме) .Ситуация примерно такая:
    Есть хтмл страница, в ней Javascript примерно такого содержания:
    Code:
    <script type="text/javascript">
    document.write("<img src='http://site.ru/?ref="+escape(document.referrer)+"' border=0 width=100 height=120>");
    </script>
    
    Ну понятно, что ?ref= можно подменить, и тем самым испортить статистику. Ну например мне нужно смотреть сколько пользователей
    будет приходить от определенного адреса(http://google.ru?q=ТЕКСТ).
    Я ради интереса посмотрел Javascript'ы от гугла и там Math.Random, но я не
    понимаю для чего это(подозреваю что это для правильности)... Вобщем мне нужно сделать так, чтобы referer никто не подменил.
     
  3. astrologer

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

    Joined:
    30 Aug 2007
    Messages:
    837
    Likes Received:
    267
    Reputations:
    59
    Нет, Math.random там для того, чтобы адрес был каждый раз другой, для борьбы с кешированием. Защиты от подмены реферера нет - просто не нужно полагаться на присылаемые данные. Если это просто для статистики, то выгода от подмены сомнительна.
     
  4. Macro

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

    Joined:
    11 Nov 2006
    Messages:
    552
    Likes Received:
    298
    Reputations:
    207
    Вопрос. Можно ли каким-либо скриптом получить содержимое удаленного файла? К примеру, флэшкой можно? Насколько я знаю, с помощью AJAX не получится. Извините, если вопрос нубский, я javascript и swf вообще плохо знаю
     
  5. ElteRUS

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

    Joined:
    11 Oct 2007
    Messages:
    367
    Likes Received:
    460
    Reputations:
    93
    1 person likes this.
  6. brasco2k

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

    Joined:
    23 Nov 2007
    Messages:
    258
    Likes Received:
    91
    Reputations:
    0
    правильней сказать action script :) ты хочешь что ли сохранить файл на сервере или прочитать его удаленно ?
     
  7. astrologer

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

    Joined:
    30 Aug 2007
    Messages:
    837
    Likes Received:
    267
    Reputations:
    59
    Можно сказать "ECMAScript implementation" и не ошибёшься.
     
  8. bomber

    bomber New Member

    Joined:
    17 Mar 2008
    Messages:
    25
    Likes Received:
    1
    Reputations:
    0
    нужен код, который скрывал-показывал слой при выборе из двух select формы, при выборе первой - первый слой показывался, второй скрывался, и соответcnвенно наоборот
     
  9. BuzzSaw

    BuzzSaw New Member

    Joined:
    6 Mar 2008
    Messages:
    6
    Likes Received:
    1
    Reputations:
    0
    Bomber, тебе судя по всему типа такого надо :
    Code:
    <a href="#" onclick="document.getElementById('login-form').style.display='block'; return false;">Видно</a><br> <a href="#" onclick="document.getElementById('login-form').style.display='none'; return false;">Невидно</a>
    ... но только с select(влом было писать с select, так как у самого на сайте такое)
     
  10. GreenBear

    GreenBear наркоман с медалью

    Joined:
    7 May 2005
    Messages:
    2,548
    Likes Received:
    1,397
    Reputations:
    611
    Code:
    <div class='aa' id='aa'>123</div>
    <div class='bb' id='bb'>456</div>
    <style type='text/css'>
    .aa{
    display: block;
    }
    .bb{
    display: none;
    }
    </style>
    <select onChange="check(this)"><option value=aa>aa</option><option value=bb>bb</option></select>
    <script type="text/javascript">
    function check(s){
    	if(s[0].selected){
    		document.getElementById('aa').className = 'bb';
    		document.getElementById('bb').className = 'aa';
    	}else{
    		document.getElementById('aa').className = 'aa';
    		document.getElementById('bb').className = 'bb';
    	}
    }
    </script>
    
    бомберу от бомбега :D
     
    1 person likes this.
  11. Architek86

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

    Joined:
    20 Feb 2008
    Messages:
    80
    Likes Received:
    1
    Reputations:
    0
    Дана вот такая форма в диве:
    HTML:
    <div id="testBlockD">
    <script type="text/javascript">function button_activate() { document.getElementById('TstSbm').disabled = false; }</script>
    <form name="addform" id="tstAddForm" method="POST" action="ссылка на сайтик" onsubmit="tstNextStep();return false;">
    <table border="0" cellspacing="1" cellpadding="0" width="100%">
    
    <tr>
    <td>
    <div class="eTitle">Какого цвета красный цвет?</div>
    </td>
    </tr>
    
    <tr>
    <td class="eVariant">
    <input type="radio" name="otvets" id="o0" value="1" onClick="button_activate();"><label for="o0">Не знаю</label>
    </td>
    </tr>
    
    <tr>
    <td class="eVariant">
    <input type="radio" name="otvets" id="o1" value="2" onClick="button_activate();"><label for="o1">Знаю но не скажу</label>
    </td>
    </tr>
    
    <tr>
    <td class="eVariant">
    <input type="radio" name="otvets" id="o2" value="3" onClick="button_activate();"><label for="o2">Я знаю но не знаю как ответить</label>
    </td>
    </tr>
    
    <tr>
    <td>
    <hr>
    Текущий вопрос: <b>1</b> (всего вопросов в тесте: <b>3</b>)
    </td>
    </tr>
    
    <tr>
    <td align="center">
    <hr /><input type="submit" name="submit" id="TstSbm" value="Перейти к следующему вопросу" disabled>
    </td>
    </tr>
    
    </table>
    </form>
    </div>
    Нужен скрипт, который бы отсчитывал время (время определяеться переменной, например, "timetest"), после окончания заданного временич устанававливал radio на том, у которого id="o0" (т.е. самом верхнем), ну и отправлял бы форму (как по нажатию кнопки Submit). Если можно, то отсчитывание времени сделать видимым :)
     
    #511 Architek86, 2 May 2008
    Last edited: 2 May 2008
  12. VDShark

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

    Joined:
    1 Feb 2007
    Messages:
    260
    Likes Received:
    158
    Reputations:
    62
    Нечто вроди:

    <script type="text/javascript">
    var time = 2; // в секундах
    setTimeout("funct();",time*1000);
    function funct(){
    document.getElementById('o0').checked = true;
    document.forms['addform'].submit();
    }
    </script>
     
  13. Architek86

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

    Joined:
    20 Feb 2008
    Messages:
    80
    Likes Received:
    1
    Reputations:
    0
    VDShark, спс, но нужно его дополнить ещё тем, что бы на экране шёл таймер назад...
     
  14. astrologer

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

    Joined:
    30 Aug 2007
    Messages:
    837
    Likes Received:
    267
    Reputations:
    59
    Code:
    <div id="testBlockD">
    <script type="text/javascript">function button_activate() { document.getElementById('TstSbm').disabled = false; }</script>
    <script type="text/javascript">
    
    (function()
    {
      var i = 20, timer;
      timer = setInterval(function()
      {
        if(i--)
        {
          document.getElementById('time').innerHTML = i;
        }
        else
        {
          clearInterval(timer);
          document.forms.addform.submit();
        }
      }, 1000);
    })();
    
    </script>
    <form name="addform" id="tstAddForm" method="POST" action="ссылка на сайтик" onsubmit="tstNextStep();return false;">
    <table border="0" cellspacing="1" cellpadding="0" width="100%">
    
    <tr>
    <td>
    <div class="eTitle">Какого цвета красный цвет?</div>
    </td>
    </tr>
    
    <tr>
    <td class="eVariant">
    <input type="radio" name="otvets" id="o0" value="1" onClick="button_activate();"><label for="o0">Не знаю</label>
    </td>
    </tr>
    
    <tr>
    <td class="eVariant">
    <input type="radio" name="otvets" id="o1" value="2" onClick="button_activate();"><label for="o1">Знаю но не скажу</label>
    </td>
    </tr>
    
    <tr>
    <td class="eVariant">
    <input type="radio" name="otvets" id="o2" value="3" onClick="button_activate();"><label for="o2">Я знаю но не знаю как ответить</label>
    </td>
    </tr>
    
    <tr>
    <td>
    <hr>
    Текущий вопрос: <b>1</b> (всего вопросов в тесте: <b>3</b>)<br>
    <span id="time"> 20 </span>
    </td>
    </tr>
    
    <tr>
    <td align="center">
    <hr /><input type="submit" name="send" id="TstSbm" value="Перейти к следующему вопросу" disabled>
    </td>
    </tr>
    
    </table>
    </form>
    </div>
    Не стоит давать полю имя "submit".
     
    1 person likes this.
  15. Macro

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

    Joined:
    11 Nov 2006
    Messages:
    552
    Likes Received:
    298
    Reputations:
    207
    прочитать его удаленно. Я знаю, что правильнее говорить и как =) Просто так короче
     
  16. banned

    banned Banned

    Joined:
    20 Nov 2006
    Messages:
    3,325
    Likes Received:
    1,194
    Reputations:
    252
    Macro, чет не пойму, а на пхп почему бы не прочитать соответственно и на аяксе
     
  17. Macro

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

    Joined:
    11 Nov 2006
    Messages:
    552
    Likes Received:
    298
    Reputations:
    207
    Мне нужно прочитать файл с другого сайта, используя только пользовательские скрипты. AJAX тут не поможет, его можно использовать только внутри своего сайта
     
  18. banned

    banned Banned

    Joined:
    20 Nov 2006
    Messages:
    3,325
    Likes Received:
    1,194
    Reputations:
    252
    Если ты найдешь решение, то через xss можно будет залить шелл =\
     
  19. VDShark

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

    Joined:
    1 Feb 2007
    Messages:
    260
    Likes Received:
    158
    Reputations:
    62
    Кто тебе такую глупость сказал? Что то ты раздул проблему из ничего...
     
  20. Macro

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

    Joined:
    11 Nov 2006
    Messages:
    552
    Likes Received:
    298
    Reputations:
    207
    Ну-ка покажи мне код на ajax, который будет получать код страницы http://ya.ru :) Именно получать, а не iframe
     
Loading...
Thread Status:
Not open for further replies.