Помогите доделать калькулятор через ajax
HTML код:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8" /> <meta name="author" content="muzam" /> <script type="text/javascript" src="//code.jquery.com/jquery-1.10.2.min.js"></script> <title>muzam</title> </head> <body> <input type="text" name="" id="foo" /><br /> <input type="button" id="one" value="1" onclick="foo1()"/> <input type="button" id="two" value="2" onclick="foo2()"/> <input type="button" id="three" value="3" onclick="foo3()"/><br /> <input type="button" id="four" value="4" onclick="foo4()"/> <input type="button" id="five" value="5" onclick="foo5()"/> <input type="button" id="six" value="6" onclick="foo6()"/><br /> <input type="button" id="seven" value="7" onclick="foo7()"/> <input type="button" id="eight" value="8" onclick="foo8()"/> <input type="button" id="nine" value="9" onclick="foo9()"/><br /> <input type="button" id="zero" value="0" onclick="foo0()"/> <input type="button" onclick="asd()" value="=" /> <select> <option id="plus" value="+" onclick="plus()">+</option> <option id="minus" value="-" onclick="minus()">-</option> <option id="umnoj" value="*" onclick="umnoj()">*</option> <option id="del" value="/" onclick="del()">/</option> </select> <div id="content" style="font-size: 30px;"> </div> <script type="text/javascript"> function foo1(){ var one= $("#one").val(); var foo= $("#foo").val(); var asd11=foo+one; $("#foo").val(asd11); } function foo2(){ var one= $("#two").val(); var foo= $("#foo").val(); var asd12=foo+one; $("#foo").val(asd12); } function foo3(){ var one= $("#three").val(); var foo= $("#foo").val(); var asd13=foo+one; $("#foo").val(asd13); } function foo4(){ var one= $("#four").val(); var foo= $("#foo").val(); var asd14=foo+one; $("#foo").val(asd14); } function foo5(){ var one= $("#five").val(); var foo= $("#foo").val(); var asd15=foo+one; $("#foo").val(asd15); } function foo6(){ var one= $("#six").val(); var foo= $("#foo").val(); var asd16=foo+one; $("#foo").val(asd16); } function foo7(){ var one= $("#seven").val(); var foo= $("#foo").val(); var asd17=foo+one; $("#foo").val(asd17); } function foo8(){ var one= $("#eight").val(); var foo= $("#foo").val(); var asd18=foo+one; $("#foo").val(asd18); } function foo9(){ var one= $("#nine").val(); var foo= $("#foo").val(); var asd19=foo+one; $("#foo").val(asd19); } function foo0(){ var one= $("#zero").val(); var foo= $("#foo").val(); var asd10=foo+one; $("#foo").val(asd10); } function plus(){ var plus= $("#plus").val(); var foo= $("#foo").val() var asd25=foo+plus; $("#foo").val(asd25); } function minus(){ var minus= $("#minus").val(); var foo= $("#foo").val() var asd21=foo+minus; $("#foo").val(asd21); } function umnoj(){ var umnoj= $("#umnoj").val(); var foo= $("#foo").val() var asd22=foo+umnoj; $("#foo").val(asd22); } function del(){ var del= $("#del").val(); var foo= $("#foo").val() var asd23=foo+del; $("#foo").val(asd23); } function asd(){ var foo= $('#foo').val(); var znak= $('#znak').val(); $.ajax ({ url:"asd.php?foo="+foo, cache: false, success: function(html) { $("#content").html(html); } }); } </script> </body> </html> и файл asd.php: <?php $foo=$_GET['foo']; echo $foo; ?> Мне надо чтобы $foo смог различить знаки, прочитал о возможностях end(); но мало чего добился. |
Вы всё правильно поняли.
Цитата:
|
Музаффар,
<form name="calc"> <input type="text" name="display" value=""><br> <input type="button" value="1"> <input type="button" value="2"> <input type="button" value="3"> <input type="button" value="+"><br> <input type="button" value="4"> <input type="button" value="5"> <input type="button" value="6"> <input type="button" value="-"><br> <input type="button" value="7"> <input type="button" value="8"> <input type="button" value="9"> <input type="button" value="*"><br> <input type="button" value="0"> <input type="submit" value="="> <input type="reset" value="C"> <input type="button" value="/"><br> </form> <div id="content"></div> <script> document.calc.onclick = function(e) { var t = e && e.target || event.srcElement; if (t.type == 'button') this.display.value += t.value; } document.calc.onsubmit = function() { var val = this.display.value.match(/^(-?\d+)([\+\-\*\/])(-?\d+)$/); if (val) { var ajax = new XMLHttpRequest(); var params = 'left=' + val[1] + '¢er=' + encodeURIComponent(val[2]) + '&right=' + val[3]; ajax.open('POST', 'asd.php', true); ajax.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); ajax.onreadystatechange = function() { if (this.readyState == 4 && this.status == 200) { document.getElementById('content').innerHTML = this.responseText; } } ajax.send(params); } else { alert('(Целое число)(Знак)(Целое число)'); } return false; } </script> asd.php <?php if (isset($_POST['left'], $_POST['center'], $_POST['right'])) { $left = (int)$_POST['left']; $right = (int)$_POST['right']; $center = $_POST['center']; $result = 0; switch ($center) { case '+': $result = $left + $right; break; case '-': $result = $left - $right; break; case '*': $result = $left * $right; break; case '/': $result = $left / $right; } echo $left . ' ' . $center . ' ' . $right . ' = ' . $result; } ?> |
Спасибо Rise, думал не успею сдать зачётку!
|
Часовой пояс GMT +3, время: 04:32. |