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

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

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

    Exompies Member

    Joined:
    14 Oct 2011
    Messages:
    0
    Likes Received:
    9
    Reputations:
    1
    Плохо я в JavaScript :(
    как сделать чтоб не вылетало окно с false, true
    а просто работало нормально :)
    вот код:
    Code:
        <script type="text/javascript">
        var a = Math.ceil(Math.random() * 1);
        var b = Math.ceil(Math.random() * 5);       
        var c = a + b
        function drawbot()
        {
            document.write("Сколько будет "+ a + " + " + b +"? ");
            document.write("<input id='input' type='text' maxlength='2' size='2'/>");
        }    
    	    function validbot(){
            var d = document.getElementById('input').value;
            if (d == c) return true;        
            return false;
            
        }
        
    </script>
    
     
  2. lukmus

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

    Joined:
    18 Nov 2009
    Messages:
    404
    Likes Received:
    118
    Reputations:
    23
    тут не весь код, вылетающие окна, вероятно alert(), где-то в другом месте
     
  3. Exompies

    Exompies Member

    Joined:
    14 Oct 2011
    Messages:
    0
    Likes Received:
    9
    Reputations:
    1
    lukmus, больше не где нету :)

    вот весь код:
    надо чтоб если праильно ответли ничего не вылетало
    а если не верный писало не верный ответ :cool:

    Code:
    <script type="text/javascript">
        var a = Math.ceil(Math.random() * 1);
        var b = Math.ceil(Math.random() * 5);       
        var c = a + b
        function drawbot()
        {
            document.write("Сколько будет "+ a + " + " + b +" ? ");
            document.write("<input id='input' type='text' maxlength='2' size='2'/>");
        }    
    	    function validbot(){
            var d = document.getElementById('input').value;
            if (d == c) return true;        
            return false;
            
        }
        
    </script>
    
    <script type="text/javascript">drawbot()</script>
    <input id="Button1" type="button" value="Check" onclick="alert(validbot());"/>
    
     
    #3223 Exompies, 29 Nov 2011
    Last edited: 29 Nov 2011
  4. lukmus

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

    Joined:
    18 Nov 2009
    Messages:
    404
    Likes Received:
    118
    Reputations:
    23
    Code:
    <script type="text/javascript">
        var a = Math.ceil(Math.random() * 1);
        var b = Math.ceil(Math.random() * 5);       
        var c = a + b
        function drawbot()
        {    document.write("Сколько будет "+ a + " + " + b +" ? ");
            document.write("<input id='input' type='text' maxlength='2' size='2'/>");   } 
       function validbot(){
            var d = document.getElementById('input').value;
            if (d == c) return true;        
            [U]document.write("Неверно"); [/U] }
    </script>
    
    <script type="text/javascript">drawbot()</script>
    <input id="Button1" type="button" value="Check" [B]onclick="alert(validbot());"[/B]/>
    
    выделенное не похоже на alert() ?
    заместо выделенного жирным вставь: onclick="validbot();", подчеркнутое это то, что я изменил, чтобы писало в случае неверного ответа
     
  5. Exompies

    Exompies Member

    Joined:
    14 Oct 2011
    Messages:
    0
    Likes Received:
    9
    Reputations:
    1
    показывает Неверно и окно undefined
    браузер opera
     
  6. lukmus

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

    Joined:
    18 Nov 2009
    Messages:
    404
    Likes Received:
    118
    Reputations:
    23
    прочитай мое сообщение полностью и подумай что ты не сделал
    подсказка:
    Code:
    <input id="Button1" type="button" value="Check" onclick="validbot();"/>
    
     
  7. Exompies

    Exompies Member

    Joined:
    14 Oct 2011
    Messages:
    0
    Likes Received:
    9
    Reputations:
    1
    lukmus,

    надо чтоб окно вылетало Неверно
     
  8. lukmus

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

    Joined:
    18 Nov 2009
    Messages:
    404
    Likes Received:
    118
    Reputations:
    23
    Code:
    <script type="text/javascript">
        var a = Math.ceil(Math.random() * 1);
        var b = Math.ceil(Math.random() * 5);       
        var c = a + b
        function drawbot()
        {    document.write("Сколько будет "+ a + " + " + b +" ? ");
            document.write("<input id='input' type='text' maxlength='2' size='2'/>");   } 
       function validbot(){
            var d = document.getElementById('input').value;
            if (d == c) return true;        
            alert("Неверно");  }
    </script>
    
    <script type="text/javascript">drawbot()</script>
    <input id="Button1" type="button" value="Check" onclick="validbot();"/>
    
    
    
     
  9. Exompies

    Exompies Member

    Joined:
    14 Oct 2011
    Messages:
    0
    Likes Received:
    9
    Reputations:
    1
    блин надо добавить ещё чтоб работало с

    <textarea name="reptext" id="textarea" cols="45" rows="5"></textarea>

    и если не вели Сообщения показывало окно забыли сообщения написать
     
  10. huzker2

    huzker2 New Member

    Joined:
    31 Mar 2010
    Messages:
    3
    Likes Received:
    0
    Reputations:
    -1
    В общем, нужно, чтобы при переходе по ссылке открывалось новое окно с содержимым, а в первом окне происходил редирект на другой адрес. Объясню сразу ещё и по другому: есть сайт-прокладка, в который напиханы партнёрские ссылки. Так вот, как посетитель только нажмёт на ссылку, он должен перейти по моей рефке на партнёрский сайт (само собой в новом окне), т.к. прокладка нам больше не нужна, хочу, чтобы там произошёл редирект на другой сайт. Как бы 2-х зайцев убить сразу 1 посетителем попробовать. Реально ли сделать и как? Может пхп, как вариант тоже?
     
  11. Edward

    Edward Banned

    Joined:
    11 Feb 2010
    Messages:
    329
    Likes Received:
    21
    Reputations:
    -1
    huzker2
    HTML:
    <script>
    function GoToURL(){ 
     location="http://ya.ru"; 
    } 
    </script>
    <a href="http://google.com" onclick="GoToURL()" target="_blank">Ссылка</a>
    yandex.ru откроется редиректом в том же окне по клику по ссылке.
    google.com откроется в новой вкладке по нажатию по ссылке.
     
  12. Edward

    Edward Banned

    Joined:
    11 Feb 2010
    Messages:
    329
    Likes Received:
    21
    Reputations:
    -1
    Народ, поделитесь скриптиком. Есть элемент <fieldset>, внутри него куча всего, в том числе и ссылка <a href="#" class="reply">reply</a>. Нужно, что б при наведении курсора на область элемента <fieldset> ссылка появлялась, а при убирании - пропадала. Таких <fieldse> на странице много, и для каждого нужен свой reply. Заранее спасибо !
     
  13. je0n

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

    Joined:
    14 May 2006
    Messages:
    345
    Likes Received:
    96
    Reputations:
    41
    Чтобы разобраться в этом коде прочитай по этой ссылке: события javascript onmouseover и onmouseout

    HTML:
    <script>
    function show_link(name)
    {
    if(name.style.display=="none")name.style.display="block";
    }
    function hide_link(name)
    {
    if(name.style.display!="none")name.style.display="none";
    }
    </script>
    <fieldset onmouseover='show_link(first_link)' onmouseout='hide_link(first_link)'>
    just a text in field
    <a href='#' id='first_link' style="display:none">FIRST LINK</a>
    </fieldset>
     
    1 person likes this.
  14. НTL

    НTL Elder - Старейшина

    Joined:
    26 Jan 2008
    Messages:
    715
    Likes Received:
    205
    Reputations:
    -26
    Есть код:
    HTML:
    <HTML>
    	<head>
    		<title>jq teat</title>
    		<link rel="stylesheet" type="text/css" href="style.css">
    		<script type="text/javascript" src="jquery-1.7.1.js"></script>
    		<script type="text/javascript">
    			$(window).ready(function(){		
    				$("#name_button").click( function(){
    					$.ajax({
    					  type: 'POST',
    					  url: "/report.php",
    					  data: "id=4&111=222",
    					  success: function ($data) {
    						alert($data);
    					  }
    					});
    				});
    			});
    		</script>
    	</head>
    	<body>
    		<div class="button" id="name_button" style="height: 50px; width: 50px; background-color: #55FF55;"></div>
    	</body>
    </HTML>
    Таких кнопок несколько (ID DOM разные, и ловится по классу). Как от кнопки передать к jq пару параметров?
     
  15. Nilamop

    Nilamop New Member

    Joined:
    6 Feb 2008
    Messages:
    13
    Likes Received:
    1
    Reputations:
    0
    Есть вот такой скромный код

    Code:
    <SCRIPT>
    function Circle(radius) {
    this.r = radius;
    }
    
    var radik1 = new Circle(2); // r:2
    var radik2 = new Circle(4); // r:4
    Circle.PI = 3.14159;
    Circle.prototype.area = function()  { return Circle.PI * radik1.r * radik1.r; }
    Circle.prototype.areaa = function() { return Circle.PI * radik2.r * radik2.r; }
    
    
    Circle.prototype.max = function(t, y) {
    if (radik1.r > radik2.r) return t;
    else return y;
    }
    
    x = Circle.prototype.area();
    z = Circle.prototype.areaa();
    bigger = Circle.prototype.max();
    
    document.write("Площади", " ", "<br>" , x, "<br>", z, "<br>");
    document.write("Радиусы", " ", "<br>" , radik1.r, "<br>", radik2.r, "<br>");
    document.write("Сравнение радиусов", " ", "<br>", bigger, "<br>");
    document.write("Возвращенное значение в функции большего радиуса", " ", "<br>", t, "<br>", y);
    </SCRIPT>
    
    Прошу помощи разобраться почему не сравниваются радиусы в функции
    Circle.prototype.max
    Спасибо.
     
    #3235 Nilamop, 12 Dec 2011
    Last edited: 12 Dec 2011
  16. Nilamop

    Nilamop New Member

    Joined:
    6 Feb 2008
    Messages:
    13
    Likes Received:
    1
    Reputations:
    0
    Сам разобрался, приятно

    Code:
    <SCRIPT>
    function Circle(radius, radius1) { // Сздание конструктора
    	this.r = radius;			   // r, r1 - свойства экземпляра, определяеются и инициализируется конструктором
    	this.r1 = radius1;
    	}
    	
    Circle.prototype.area = function() { // Метод экземляра, расчитывающий площадь круга №1
    	return Circle.PI * x.r * x.r;
    	}
    	
    Circle.prototype.area1 = function() { // Метод экземляра, расчитывающий площадь круга №2
    	return Circle.PI * x.r1 * x.r1;
    	}	
    
    Circle.max = function(a, b) { // Метод экземпляра который принимает два объекта Circle и возвращает объект с большим радиусом
    	if (x.r > x.r1) return a;
    		else return b;
    		}
    		
    Circle.PI = 3.14159;				// Cвойство класса, т.е. свойство ф-и конструктора
    var x = new Circle(9, 8);			// Cоздание экземпляра класса Circle, эти значения присваиваются свойству r, радиусу
    var rad = Circle.prototype.area();  // Вызов метода экземпляра функции расчета площадь 1 круга
    var rad1 = Circle.prototype.area1(); // Вызов метода экземпляра функции расчета площадь 2 круга
    var a = x.r; // Присваивание переменной значения свойства экземпляра, тоесть радиуса
    var b = x.r1; // Присваивание переменной значения свойства экземпляра, тоесть радиуса
    var maximum = Circle.max(a, b); // Вызов метода класса max() с двумя переменными с значениями радиусов.
    
    document.write(x.r, "<br>", x.r1, "<br>"); // Вывод на экран радиусов двух кругов
    document.write(rad, "<br>", rad1, "<br>"); // Вывод на экран двух радиусов куругов
    document.write(maximum); // Вывод на экран радиуса круга, у которого этот радиус больше
    
    </SCRIPT>
    
     
  17. GAiN

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

    Joined:
    2 Apr 2011
    Messages:
    2,550
    Likes Received:
    172
    Reputations:
    99
    есть скрипт для украшения radio кнопок. вот только после него radio можно все выбирать из списка как будто это checkbox
    что можно поправить тут чтобы выбирать можно было только один результат?
    PHP:
    <script>
        var 
    document;
        var 
    safari = (navigator.userAgent.toLowerCase().indexOf('safari') != -1) ? true false;
        var 
    gebtn = function(parEl,child) { return parEl.getElementsByTagName(child); };
        
    onload = function() {
            
            var 
    body gebtn(d,'body')[0];
            
    body.className body.className && body.className != '' body.className ' has-js' 'has-js';
            
            if (!
    d.getElementById || !d.createTextNode) return;
            var 
    ls gebtn(d,'label');
            for (var 
    0ls.lengthi++) {
                var 
    ls[i];
                if (
    l.className.indexOf('label_') == -1) continue;
                var 
    inp gebtn(l,'input')[0];
                if (
    l.className == 'label_check') {
                    
    l.className = (safari && inp.checked == true || inp.checked) ? 'label_check c_on' 'label_check c_off';
                    
    l.onclick check_it;
                };
                if (
    l.className == 'label_radio') {
                    
    l.className = (safari && inp.checked == true || inp.checked) ? 'label_radio r_on' 'label_radio r_off';
                    
    l.onclick turn_radio;
                };
            };
        };
        var 
    check_it = function() {
            var 
    inp gebtn(this,'input')[0];
            if (
    this.className == 'label_check c_off' || (!safari && inp.checked)) {
                
    this.className 'label_check c_on';
                if (
    safariinp.click();
            } else {
                
    this.className 'label_check c_off';
                if (
    safariinp.click();
            };
        };
        var 
    turn_radio = function() {
            var 
    inp gebtn(this,'input')[0];
            if (
    this.className == 'label_radio r_off' || inp.checked) {
                var 
    ls gebtn(this.parentNode,'label');
                for (var 
    0ls.lengthi++) {
                    var 
    ls[i];
                    if (
    l.className.indexOf('label_radio') == -1)  continue;
                    
    l.className 'label_radio r_off';
                };
                
    this.className 'label_radio r_on';
                if (
    safariinp.click();
            } else {
                
    this.className 'label_radio r_off';
                if (
    safariinp.click();
            };
        };
    </script>
     
    #3237 GAiN, 24 Dec 2011
    Last edited: 24 Dec 2011
  18. PX379

    PX379 New Member

    Joined:
    1 Jun 2011
    Messages:
    7
    Likes Received:
    0
    Reputations:
    0
    Здравствуйте. Поможете со скриптом выпадающего меню?
    Вообщем есть скрипт выпадающего меню, он прекрасно работает, только надо сделать так, чтоб он не работал при выключенном JS. А вместо меню появлялся текст о просьбе включить JS в браузере.

    Код - JS
    Code:
    stuHover = function() {
    	var cssRule;
    	var newSelector;
    	for (var i = 0; i < document.styleSheets.length; i++)
    		for (var x = 0; x < document.styleSheets[i].rules.length ; x++)
    			{
    			cssRule = document.styleSheets[i].rules[x];
    			if (cssRule.selectorText.indexOf("LI:hover") != -1)
    			{
    				 newSelector = cssRule.selectorText.replace(/LI:hover/gi, "LI.iehover");
    				document.styleSheets[i].addRule(newSelector , cssRule.style.cssText);
    			}
    		}
    	var getElm = document.getElementById("nav").getElementsByTagName("LI");
    	for (var i=0; i<getElm.length; i++) {
    		getElm[i].onmouseover=function() {
    			this.className+=" iehover";
    		}
    		getElm[i].onmouseout=function() {
    			this.className=this.className.replace(new RegExp(" iehover\\b"), "");
    		}
    	}
    }
    if (window.attachEvent) window.attachEvent("onload", stuHover);
    Код - HTML
    HTML:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml2/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
    <head>
    
    <meta name="Author" content="Stu Nicholls" />
    
    <link rel="stylesheet" type="text/css" href="css/style.css" />
    
    <script src="js/stuHover.js" type="text/javascript"></script>
    
    </head>
    
    <body>
    <span class="preload1"></span>
    <span class="preload2"></span>
    
    <ul id="nav">
    	<li class="top"><a href="#nogo1" class="top_link"><span>Home</span></a></li>
    	<li class="top"><a href="#nogo2" id="products" class="top_link"><span class="down">Products</span></a>
    		<ul class="sub">
    			<li><a href="#nogo3" class="fly">Cameras</a>
    					<ul>
    						<li><a href="#nogo4">Nikon</a></li>
    						<li><a href="#nogo5">Minolta</a></li>
    						<li><a href="#nogo6">Pentax</a></li>
    					</ul>
    			</li>
    			<li class="mid"><a href="#nogo7" class="fly">Lenses</a>
    					<ul>
    						<li><a href="#nogo8">Wide Angle</a></li>
    						<li><a href="#nogo9">Standard</a></li>
    						<li><a href="#nogo10">Telephoto</a></li>
    						<li><a href="#nogo11" class="fly">Zoom</a>
    							<ul>
    								<li><a href="#nogo12">35mm to 125mm</a></li>
    								<li><a href="#nogo13">50mm to 250mm</a></li>
    								<li><a href="#nogo14">125mm to 500mm</a></li>
    							</ul>
    						</li>
    						<li><a href="#nogo15">Mirror</a></li>
    						<li><a href="#nogo16" class="fly">Non standard</a>
    							<ul>
    								<li><a href="#nogo17">Bayonet mount</a></li>
    								<li><a href="#nogo18">Screw mount</a></li>
    							</ul>
    						</li>
    					</ul>
    			</li>
    			<li><a href="#nogo19">Flash Guns</a></li>
    			<li><a href="#nogo20">Tripods</a></li>
    			<li><a href="#nogo21">Filters</a></li>
    		</ul>
    	</li>
    	<li class="top"><a href="#nogo22" id="services" class="top_link"><span class="down">Services</span></a>
    		<ul class="sub">
    			<li><a href="#nogo23">Printing</a></li>
    			<li><a href="#nogo24">Photo Framing</a></li>
    			<li><a href="#nogo25">Retouching</a></li>
    			<li><a href="#nogo26">Archiving</a></li>
    		</ul>
    	</li>
    	<li class="top"><a href="#nogo27" id="contacts" class="top_link"><span class="down">Contacts</span></a>
    		<ul class="sub">
    			<li><a href="#nogo28">Support</a></li>
    			<li><a href="#nogo29" class="fly">Sales</a>
    				<ul>
    					<li><a href="#nogo30">USA</a></li>
    					<li><a href="#nogo31">Canadian</a></li>
    					<li><a href="#nogo32">South American</a></li>
    					<li><a href="#nogo33" class="fly">European</a>
    						<ul>
    							<li><a href="#nogo34" class="fly">British</a>
    								<ul>
    									<li><a href="#nogo35">London</a></li>
    									<li><a href="#nogo36">Liverpool</a></li>
    									<li><a href="#nogo37">Glasgow</a></li>
    									<li><a href="#nogo38" class="fly">Bristol</a>
    										<ul>
    											<li><a href="#nogo39">Redland</a></li>
    											<li><a href="#nogo40">Hanham</a></li>
    											<li><a href="#nogo41">Eastville</a></li>
    										</ul>
    									</li>
    									<li><a href="#nogo42">Cardiff</a></li>
    									<li><a href="#nogo43">Belfast</a></li>
    								</ul>
    							</li>
    							<li><a href="#nogo44">French</a></li>
    							<li><a href="#nogo45">German</a></li>
    							<li><a href="#nogo46">Spanish</a></li>
    						</ul>
    					</li>
    					<li><a href="#nogo47">Australian</a></li>
    					<li><a href="#nogo48">Asian</a></li>
    				</ul>
    			</li>
    			<li><a href="#nogo49">Buying</a></li>
    			<li><a href="#nogo50">Photographers</a></li>
    			<li><a href="#nogo51">Stockist</a></li>
    			<li><a href="#nogo52">General</a></li>
    		</ul>
    	</li>
    	<li class="top"><a href="#nogo53" id="shop" class="top_link"><span class="down">Shop</span></a>
    		<ul class="sub">
    			<li><a href="#nogo54">Online</a></li>
    			<li><a href="#nogo55">Catalogue</a></li>
    			<li><a href="#nogo56">Mail Order</a></li>
    		</ul>
    	</li>
    	<li class="top"><a href="#nogo57" id="privacy" class="top_link"><span>Privacy Policy</span></a></li>
    </ul>
    
    </body>
    </html>
     
  19. Kruzak

    Kruzak New Member

    Joined:
    21 Dec 2010
    Messages:
    126
    Likes Received:
    4
    Reputations:
    1
    помогите задачу решить

    Code:
    function ee() {
    alert('pervoe');
    alert('drugie');
    }
    вобещм есть ссылка с onlick="ee();"

    нужно сделать чтобы функция срабатывала так - первый клик по ссылке - алерт "pervoe", все последующие клики по ссылке алерт "drugie"
     
  20. FindeR

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

    Joined:
    15 Nov 2006
    Messages:
    623
    Likes Received:
    138
    Reputations:
    20
    Сделай глобальную переменную

    Code:
    var counter  = 0;
    
    в ee() добавь

    Code:
    if (!counter)
    {
     counter++;
     alert('pervoe');
    }
    else
    {
     alert('drugie');
    }
    
    Или же сделай глобальную переменную

    Code:
    var alert = 'pervoe';
    
    А в ee() пиши так
    Code:
    alert(alert);
    alert = 'drugie';
    
     
Thread Status:
Not open for further replies.