Показать сообщение отдельно
  #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.
Ответить с цитированием