Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 17.12.2013, 09:20
Новичок на форуме
Отправить личное сообщение для Музаффар Посмотреть профиль Найти все сообщения от Музаффар
 
Регистрация: 17.12.2013
Сообщений: 3

Помогите доделать калькулятор через 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(); но мало чего добился.
Ответить с цитированием
  #2 (permalink)  
Старый 17.12.2013, 10:05
Профессор
Отправить личное сообщение для Rise Посмотреть профиль Найти все сообщения от Rise
 
Регистрация: 07.11.2013
Сообщений: 4,662

Ты результат считать на стороне сервера собрался что-ли? И где в HTML элемент с id="znak" ?

Последний раз редактировалось Rise, 17.12.2013 в 10:08.
Ответить с цитированием
  #3 (permalink)  
Старый 19.12.2013, 08:53
Новичок на форуме
Отправить личное сообщение для Музаффар Посмотреть профиль Найти все сообщения от Музаффар
 
Регистрация: 17.12.2013
Сообщений: 3

Вы всё правильно поняли.
Сообщение от Rise Посмотреть сообщение
Ты результат считать на стороне сервера собрался что-ли? И где в HTML элемент с id="znak" ?
Я забыл убрать этот id, и да я хочу считать данные на asd.php и отсылать их обратно через ajax, быть может я и вправду пошел через жопу, но так надо.
Ответить с цитированием
  #4 (permalink)  
Старый 19.12.2013, 14:50
Профессор
Отправить личное сообщение для Rise Посмотреть профиль Найти все сообщения от Rise
 
Регистрация: 07.11.2013
Сообщений: 4,662

Музаффар,
<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] + '&center=' + 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, 27.05.2022 в 11:50.
Ответить с цитированием
  #5 (permalink)  
Старый 20.12.2013, 09:42
Новичок на форуме
Отправить личное сообщение для Музаффар Посмотреть профиль Найти все сообщения от Музаффар
 
Регистрация: 17.12.2013
Сообщений: 3

Спасибо Rise, думал не успею сдать зачётку!
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Онлайн калькулятор с ajax Belkazavr AJAX и COMET 2 07.11.2013 23:58
Помогите с ajax и js+php ((( snowsem Общие вопросы Javascript 1 04.08.2013 01:19
отправка данных в инпут через AJAX 2 imediasun1 Элементы интерфейса 1 30.01.2013 18:13
Помогите плис новичку в ajax urel AJAX и COMET 6 12.01.2013 21:36
Просмотр передаваемых данных через AJAX Гость AJAX и COMET 3 04.08.2008 14:34