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

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

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

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

    Joined:
    8 Apr 2008
    Messages:
    223
    Likes Received:
    69
    Reputations:
    10
    я ошибся со вторым выражением, должно быть так..
    app_iframe.src = '"+url+"';\

    но фф все равно дальше ругается, даже самому стало интересно.
     
    1 person likes this.
  2. sNt

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

    Joined:
    30 Jul 2008
    Messages:
    117
    Likes Received:
    11
    Reputations:
    1
    Нужна функция для перевода символов в hex вида %ue2e на яве... В инете не пашет ничего, если и есть. Мб руки кривые... Помогите плз.. Спасибо :)
     
    #1582 sNt, 1 Jul 2009
    Last edited: 4 Jul 2009
  3. comeoff

    comeoff New Member

    Joined:
    10 Mar 2008
    Messages:
    89
    Likes Received:
    3
    Reputations:
    0
    Подскажите пожалуйста как из одного js файла вызвать другой?
    например есть файлик 1.js мне нужно в конце подгрузить код из файла 2.js

    спасибо
     
  4. svesve

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

    Joined:
    15 Jun 2007
    Messages:
    574
    Likes Received:
    86
    Reputations:
    11
    Нет ли у кого примера JavaScript фукнции при вызове которой мы можем вставлять ссылки в textarea

    типа как тут на форуме вставка ссылки нужа такая же.

    если у кого есть,помогите.
    Спасибо.
     
    7 people like this.
  5. heretic1990

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

    Joined:
    2 Jul 2008
    Messages:
    487
    Likes Received:
    182
    Reputations:
    5
    вобщем такая проблемма:
    мне надо открыть pop-up , а перед открытием выскакивало окно с предупреждением
    если я делаю так то ссылка открывается в одном окне, а не в поп-апе((
    <a onclick="return confirm('открыть?');" href="test.php" onclick="NewWindow(this.href,'тест','180','150','no','center');return false" onfocus="this.blur()">открыть окно</a>

    или так

    <a href="test.php" onclick="return confirm('открыть?'); NewWindow(this.href,'тест','180','150','no','center')" onfocus="this.blur()">открыть окно</a>


    код поп-апа
    Code:
    <script language="javascript" type="text/javascript">
    var win=null;
    function NewWindow(mypage,myname,w,h,scroll,pos){
    if(pos=="random"){LeftPosition=(screen.width)?Math.floor(Math.random()*(screen.width-w)):100;TopPosition=(screen.height)?Math.floor(Math.random()*((screen.height-h)-75)):100;}
    if(pos=="center"){LeftPosition=(screen.width)?(screen.width-w)/2:100;TopPosition=(screen.height)?(screen.height-h)/2:100;}
    else if((pos!="center" && pos!="random") || pos==null){LeftPosition=0;TopPosition=20}
    settings='width='+w+',height='+h+',top='+TopPosition+',left='+LeftPosition+',scrollbars='+scroll+',location=no,directories=no,status=no,menubar=no,toolbar=no,resizable=no';
    win=window.open(mypage,myname,settings);
    if(win.focus){win.focus();}}
    function CloseNewWin(){if(win!=null && win.open)win.close()}
    window.onfocus=CloseNewWin;
    </script>
    помогите пожалуйста!
    P.S. с меня плюсы!
     
    #1585 heretic1990, 6 Jul 2009
    Last edited: 6 Jul 2009
  6. [n]-c0der

    [n]-c0der Member

    Joined:
    3 Feb 2009
    Messages:
    83
    Likes Received:
    24
    Reputations:
    -1
    признаюсь я балбес, и не имел до этого дела с Ajax, Делаю запросы, они не пашут(, что нужно для работы Ajax? браузер Mozilla... мне стремно за такой вопрос, но все же...
     
  7. XopoIII

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

    Joined:
    29 Oct 2007
    Messages:
    386
    Likes Received:
    30
    Reputations:
    0
    браузер не имеет значения, почитай о библиотеке jquery с ней будет проще начать работать с ajax
     
  8. Origin

    Origin New Member

    Joined:
    15 Nov 2008
    Messages:
    0
    Likes Received:
    0
    Reputations:
    0
    Вот пример кода, как я обычно через ajax изменял один div. Большего мне не требовалось. Сейчас же надо, чтобы нажатие кнопки изменяло 2 и более div'ов.
    Подскажите, как? Без использования jquery и подобных библиотек.
    Спасибо.


    test.php
    Code:
     
    var request;
    var dest;
    function processStateChange(){
    if (request.readyState < 4) document.getElementById(dest).innerHTML = "Загрузка...";
    if (request.readyState == 4){
    contentDiv = document.getElementById(dest);
    if (request.status == 200){
    
    
    
    response = request.responseText ;
    contentDiv.innerHTML = response;
    
    
    
    
    } else {
    contentDiv.innerHTML = "Error: Status "+request.status;
    }
    
    }
    }
    
    
    function test1( destination  ){
    dest = destination;
    URL = "test_print.php";
    arg = "act=" + dest ;
    if (window.XMLHttpRequest){
    request = new XMLHttpRequest();
    request.onreadystatechange = processStateChange;
    request.open("POST", URL, true);
    request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
    request.send(arg);
    } else if (window.ActiveXObject) {
    request = new ActiveXObject("Microsoft.XMLHTTP");
    if (request) {
    request.onreadystatechange = processStateChange;
    request.open("POST", URL, true);
    request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
    request.send(arg);
    }
    }
    }
    
    
    <div id="t1"> 1 </div>  
    
     <div id="t2"> 2 </div>   
    <input type="button" onclick="test1('t1')" value="go">
    test_print.php
    Code:
    <?print "1111"?>
     
  9. [n]-c0der

    [n]-c0der Member

    Joined:
    3 Feb 2009
    Messages:
    83
    Likes Received:
    24
    Reputations:
    -1
    activex разрешать не обязательно?
     
  10. imajo.ati

    imajo.ati Banned

    Joined:
    21 Feb 2008
    Messages:
    232
    Likes Received:
    62
    Reputations:
    8
    нужно разрешить исполнение подписанных activeX сценариев а то xmlhttp объект в IE не создастся
     
  11. Bel

    Bel New Member

    Joined:
    8 Jul 2009
    Messages:
    2
    Likes Received:
    0
    Reputations:
    0
    Вот простенький javascript (тест на 25 вопросов):
    Code:
    <SCRIPT language=JavaScript>
    var res="1111122222333334444411111"
    function check_me()
    {
    	var count=0
    	with(document.test)
    	{
    		if (!Q1[0].checked&&!Q1[1].checked&&!Q1[2].checked&&!Q1[3].checked) {count+=1};
    		if (!Q2[0].checked&&!Q2[1].checked&&!Q2[2].checked&&!Q2[3].checked) {count+=1};
    		if (!Q3[0].checked&&!Q3[1].checked&&!Q3[2].checked&&!Q3[3].checked) {count+=1};
    		if (!Q4[0].checked&&!Q4[1].checked&&!Q4[2].checked&&!Q4[3].checked) {count+=1};
    		if (!Q5[0].checked&&!Q5[1].checked&&!Q5[2].checked&&!Q5[3].checked) {count+=1};
    		if (!Q6[0].checked&&!Q6[1].checked&&!Q6[2].checked&&!Q6[3].checked) {count+=1};
    		if (!Q7[0].checked&&!Q7[1].checked&&!Q7[2].checked&&!Q7[3].checked) {count+=1};
    		if (!Q8[0].checked&&!Q8[1].checked&&!Q8[2].checked&&!Q8[3].checked) {count+=1};
    		if (!Q9[0].checked&&!Q9[1].checked&&!Q9[2].checked&&!Q9[3].checked) {count+=1};
    		if (!Q10[0].checked&&!Q10[1].checked&&!Q10[2].checked&&!Q10[3].checked) {count+=1};
    		if (!Q11[0].checked&&!Q11[1].checked&&!Q11[2].checked&&!Q11[3].checked) {count+=1};
    		if (!Q12[0].checked&&!Q12[1].checked&&!Q12[2].checked&&!Q12[3].checked) {count+=1};
    		if (!Q13[0].checked&&!Q13[1].checked&&!Q13[2].checked&&!Q13[3].checked) {count+=1};
    		if (!Q14[0].checked&&!Q14[1].checked&&!Q14[2].checked&&!Q14[3].checked) {count+=1};
    		if (!Q15[0].checked&&!Q15[1].checked&&!Q15[2].checked&&!Q15[3].checked) {count+=1};
    		if (!Q16[0].checked&&!Q16[1].checked&&!Q16[2].checked&&!Q16[3].checked) {count+=1};
    		if (!Q17[0].checked&&!Q17[1].checked&&!Q17[2].checked&&!Q17[3].checked) {count+=1};
    		if (!Q18[0].checked&&!Q18[1].checked&&!Q18[2].checked&&!Q18[3].checked) {count+=1};
    		if (!Q19[0].checked&&!Q19[1].checked&&!Q19[2].checked&&!Q19[3].checked) {count+=1};
    		if (!Q20[0].checked&&!Q20[1].checked&&!Q20[2].checked&&!Q20[3].checked) {count+=1};
    		if (!Q21[0].checked&&!Q21[1].checked&&!Q21[2].checked&&!Q21[3].checked) {count+=1};
    		if (!Q22[0].checked&&!Q22[1].checked&&!Q22[2].checked&&!Q22[3].checked) {count+=1};
    		if (!Q23[0].checked&&!Q23[1].checked&&!Q23[2].checked&&!Q23[3].checked) {count+=1};
    		if (!Q24[0].checked&&!Q24[1].checked&&!Q24[2].checked&&!Q24[3].checked) {count+=1};
    		if (!Q25[0].checked&&!Q25[1].checked&&!Q25[2].checked&&!Q25[3].checked) {count+=1};
    		if (count>0) {alert("Вы выполнили не все задания. Проверьте себя.")} 
    		else answer()
    	}
    }
    
    function control(k,f1,f2,f3,f4,f5,f6,f7,f8,f9,f10,f11,f12,f13,f14,f15,f16,f17,f18,f19,f20,f21,f22,f23,f24,f25)
    {
    	if (k==1&&f1.checked) return true;
    	if (k==2&&f2.checked) return true;
    	if (k==3&&f3.checked) return true;
    	if (k==4&&f4.checked) return true;
    	if (k==5&&f5.checked) return true;
    	if (k==6&&f6.checked) return true;
    	if (k==7&&f7.checked) return true;
    	if (k==8&&f8.checked) return true;
    	if (k==9&&f9.checked) return true;
    	if (k==10&&f10.checked) return true;
    	if (k==11&&f11.checked) return true;
    	if (k==12&&f12.checked) return true;
    	if (k==13&&f13.checked) return true;
    	if (k==14&&f14.checked) return true;
    	if (k==15&&f15.checked) return true;
    	if (k==16&&f16.checked) return true;
    	if (k==17&&f17.checked) return true;
    	if (k==18&&f18.checked) return true;
    	if (k==19&&f19.checked) return true;
    	if (k==20&&f20.checked) return true;
    	if (k==21&&f21.checked) return true;
    	if (k==22&&f22.checked) return true;
    	if (k==23&&f23.checked) return true;
    	if (k==24&&f24.checked) return true;
    	if (k==25&&f25.checked) return true;
    	return false;
    }
    
    function answer()
    {
    	answ="";
    	with(document)
    	{
    		answ+=control(res.charAt(0),test.Q1[0],test.Q1[1],test.Q1[2],test.Q1[3])?"1":"0"
    		answ+=control(res.charAt(1),test.Q2[0],test.Q2[1],test.Q2[2],test.Q2[3])?"1":"0"
    		answ+=control(res.charAt(2),test.Q3[0],test.Q3[1],test.Q3[2],test.Q3[3])?"1":"0"
    		answ+=control(res.charAt(3),test.Q4[0],test.Q4[1],test.Q4[2],test.Q4[3])?"1":"0"
    		answ+=control(res.charAt(4),test.Q5[0],test.Q5[1],test.Q5[2],test.Q5[3])?"1":"0"
    		answ+=control(res.charAt(5),test.Q6[0],test.Q6[1],test.Q6[2],test.Q6[3])?"1":"0"
    		answ+=control(res.charAt(6),test.Q7[0],test.Q7[1],test.Q7[2],test.Q7[3])?"1":"0"
    		answ+=control(res.charAt(7),test.Q8[0],test.Q8[1],test.Q8[2],test.Q8[3])?"1":"0"
    		answ+=control(res.charAt(8),test.Q9[0],test.Q9[1],test.Q9[2],test.Q9[3])?"1":"0"
    		answ+=control(res.charAt(9),test.Q10[0],test.Q10[1],test.Q10[2],test.Q10[3])?"1":"0"
    		answ+=control(res.charAt(10),test.Q11[0],test.Q11[1],test.Q11[2],test.Q11[3])?"1":"0"
    		answ+=control(res.charAt(11),test.Q12[0],test.Q12[1],test.Q12[2],test.Q12[3])?"1":"0"
    		answ+=control(res.charAt(12),test.Q13[0],test.Q13[1],test.Q13[2],test.Q13[3])?"1":"0"
    		answ+=control(res.charAt(13),test.Q14[0],test.Q14[1],test.Q14[2],test.Q14[3])?"1":"0"
    		answ+=control(res.charAt(14),test.Q15[0],test.Q15[1],test.Q15[2],test.Q15[3])?"1":"0"
    		answ+=control(res.charAt(15),test.Q16[0],test.Q16[1],test.Q16[2],test.Q16[3])?"1":"0"
    		answ+=control(res.charAt(16),test.Q17[0],test.Q17[1],test.Q17[2],test.Q17[3])?"1":"0"
    		answ+=control(res.charAt(17),test.Q18[0],test.Q18[1],test.Q18[2],test.Q18[3])?"1":"0"
    		answ+=control(res.charAt(18),test.Q19[0],test.Q19[1],test.Q19[2],test.Q19[3])?"1":"0"
    		answ+=control(res.charAt(19),test.Q20[0],test.Q20[1],test.Q20[2],test.Q20[3])?"1":"0"
    		answ+=control(res.charAt(20),test.Q21[0],test.Q21[1],test.Q21[2],test.Q21[3])?"1":"0"
    		answ+=control(res.charAt(21),test.Q22[0],test.Q22[1],test.Q22[2],test.Q22[3])?"1":"0"
    		answ+=control(res.charAt(22),test.Q23[0],test.Q23[1],test.Q23[2],test.Q23[3])?"1":"0"
    		answ+=control(res.charAt(23),test.Q24[0],test.Q24[1],test.Q24[2],test.Q24[3])?"1":"0"
    		answ+=control(res.charAt(24),test.Q25[0],test.Q25[1],test.Q25[2],test.Q25[3])?"1":"0"
    		showResult();
    	}
    }
    
    function showResult()
    {
    	var nok=0;
    	var i,s;
    	for (i=0;i<answ.length;i++) {nok+=answ.charAt(i)=="1"?1:0;}
    	 if(nok<=6) s='"ОЧЕНЬ ПЛОХО"';
    	if(nok>6 && nok<10) s='"НЕУДОВЛЕТВОРИТЕЛЬНО"';
    	if(nok==10) s='"НЕУДОВЛЕТВОРИТЕЛЬНО"';
    	if(nok>10 && nok<15) s='"УДОВЛЕТВОРИТЕЛЬНО"';
    	if(nok==15) s='"УДОВЛЕТВОРИТЕЛЬНО"';
    	if(nok>15 && nok<21) s='"ХОРОШО"';
    	if(nok==21) s='"ХОРОШО"';
    	if(nok>21) s='"ОТЛИЧНО"';
    	document.test.s1.value="Количество правильных ответов "+nok+" из 25. Ваша оценка "+s+". Загляните в окно рядом с номером задания. Если ответ правильный, то там (+). Если Вы ошиблись, там (-).";
    	with(document.test)
    	{
    		if (answ.charAt(0)=="1") {T1.value=" +"} else {T1.value=" -"};
    		if (answ.charAt(1)=="1") {T2.value=" +"} else {T2.value=" -"};
    		if (answ.charAt(2)=="1") {T3.value=" +"} else {T3.value=" -"};
    		if (answ.charAt(3)=="1") {T4.value=" +"} else {T4.value=" -"};
    		if (answ.charAt(4)=="1") {T5.value=" +"} else {T5.value=" -"};
    		if (answ.charAt(5)=="1") {T6.value=" +"} else {T6.value=" -"};
    		if (answ.charAt(6)=="1") {T7.value=" +"} else {T7.value=" -"};
    		if (answ.charAt(7)=="1") {T8.value=" +"} else {T8.value=" -"};
    		if (answ.charAt(8)=="1") {T9.value=" +"} else {T9.value=" -"};
    		if (answ.charAt(9)=="1") {T10.value=" +"} else {T10.value=" -"};
    		if (answ.charAt(10)=="1") {T11.value=" +"} else {T11.value=" -"};
    		if (answ.charAt(11)=="1") {T12.value=" +"} else {T12.value=" -"};
    		if (answ.charAt(12)=="1") {T13.value=" +"} else {T13.value=" -"};
    		if (answ.charAt(13)=="1") {T14.value=" +"} else {T14.value=" -"};
    		if (answ.charAt(14)=="1") {T15.value=" +"} else {T15.value=" -"};
    		if (answ.charAt(15)=="1") {T16.value=" +"} else {T16.value=" -"};
    		if (answ.charAt(16)=="1") {T17.value=" +"} else {T17.value=" -"};
    		if (answ.charAt(17)=="1") {T18.value=" +"} else {T18.value=" -"};
    		if (answ.charAt(18)=="1") {T19.value=" +"} else {T19.value=" -"};
    		if (answ.charAt(19)=="1") {T20.value=" +"} else {T20.value=" -"};
    		if (answ.charAt(20)=="1") {T21.value=" +"} else {T21.value=" -"};
    		if (answ.charAt(21)=="1") {T22.value=" +"} else {T22.value=" -"};
    		if (answ.charAt(22)=="1") {T23.value=" +"} else {T23.value=" -"};
    		if (answ.charAt(23)=="1") {T24.value=" +"} else {T24.value=" -"};
    		if (answ.charAt(24)=="1") {T25.value=" +"} else {T25.value=" -"};
    	}
    }
    
    </SCRIPT>
    
    Firebug выдает ошибку: uncaught exception: [Exception... "Not enough arguments [nsIDOMWindowInternal.scroll]"
    nsresult: "0x80570001 (NS_ERROR_XPC_NOT_ENOUGH_ARGS)" location: "JS frame :: file:///G:/%D0...0%B2.html :: onload :: line 1" data: no]

    Может кто объяснить, в чем тут дело? A то я новичек, потому никак и не соображу, чего Firebug ругается :rolleyes:
     
  12. Pashkela

    Pashkela Динозавр

    Joined:
    10 Jan 2008
    Messages:
    2,750
    Likes Received:
    1,044
    Reputations:
    339
    А что, весь код из яваскрипта состоит? Молодец
     
  13. Bel

    Bel New Member

    Joined:
    8 Jul 2009
    Messages:
    2
    Likes Received:
    0
    Reputations:
    0
    Просто кроме этого куска, больше ничего не изменялось. А в исходнике никаких ошибок не обнаруживается.
     
  14. ntldr

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

    Joined:
    4 Dec 2007
    Messages:
    367
    Likes Received:
    140
    Reputations:
    23
    как на jquery получить то что стоит в строке адреса после #?
     
    3 people like this.
  15. m0nsieur

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

    Joined:
    8 Apr 2008
    Messages:
    223
    Likes Received:
    69
    Reputations:
    10
    если правильно тебя понял, то так, без jquery правда..

    var tmp='https://forum.antichat.ru/threadnav128933-2-10.html#goto_threadrating'; // заменить на location.href
    var arr = tmp.match(/#(.+)/);
    alert(arr[1]);// выведет goto_threadrating
     
    1 person likes this.
  16. mff

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

    Joined:
    12 Mar 2008
    Messages:
    2,074
    Likes Received:
    701
    Reputations:
    227
    Не могу разобраться, есть у меня скрипт проверки Тиц и PR , там есть функция:
    HTML:
    $(document).ready(function(){
    	$('#check').click(function(){
    	
    		if( !$('#url_list').val().length ){
    			alert('Введите хотябы один url');
    			return false;
    		}
    		
    		/*$('#result').html('<tr class="table_header"><td width="50%" height="25">URL (домен)</td><td width="25%">PR</td><td width="25%">ТИЦ</td></tr>');*/
    		
    		var url_array = $('#url_list').val().split(/[\n\r]+/);
    		document.all.result_div.style.display="block";
    		document.all.result_table.style.display="block";
    		for( var i = 0; i < url_array.length; i++ ){
    			color = (i % 2 == 0) ? 'F5F5EA' : 'FFFCF8';
    			$('#result').append('<tr bgcolor="#'+ color +'"><td  width="50%">'+ url_array[i] +'</td><td id="p_'+ i +'" width="25%"><img src="../../../cncat_engine/images/load_small.gif" border="0" /></td><td id="t_'+ i +'" width="25%"><img src="../../../cncat_engine/images/load_small.gif" border="0" /></td></tr>')
    			get_pr(url_array[i],i);
    			get_yandex(url_array[i],i);
    		}
    		
    	});
    });
    Всё ок, но вот, если нажать потом на кнопку еще раз, табличка начинает ниже плодить ряды, а мне нужно, чтобы всё удалялось и по новой появлялось. Как мне удалить эти <tr><td></td></tr> ? :confused:
     
  17. m0nsieur

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

    Joined:
    8 Apr 2008
    Messages:
    223
    Likes Received:
    69
    Reputations:
    10
    в самом начале функции сделай
    $('#result').empty();
     
    1 person likes this.
  18. mff

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

    Joined:
    12 Mar 2008
    Messages:
    2,074
    Likes Received:
    701
    Reputations:
    227
    m0nsieur, большое спасибо! То что нужно! :)
     
  19. Mixon

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

    Joined:
    12 Mar 2008
    Messages:
    394
    Likes Received:
    119
    Reputations:
    12
    Проблема такова,как сделать глобальные переменные в eval?
    есле сделать так:

    function fff(){
    eval("var name=value");
    }

    То поза функцыей fff переменная name доступна не будет,как ето исправить?
     
  20. FireFenix

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

    Joined:
    3 Jun 2009
    Messages:
    390
    Likes Received:
    115
    Reputations:
    23
    объявить переменную перед функцией и присвоить значение в функции?
     
Thread Status:
Not open for further replies.