как изменять переменную в форме <input type=text> средствами php

Webrusher

Новичок
как изменять переменную в форме <input type=text> средствами php

Приветствую, подскажите плиз..
Есть три формы с текстом, в первые две формы вводятся цифры, а в третьей показывается результат математических действий между этими цифрами, как добиться того чтобы результат показывался в зависимости от вводимых цифр сразу (без перехода на другую страницу) в третьей форме?

<?php
$test3=$test1*$test2;
print("
<form>
<input type='text' value='$test1' >
<input type='text' value='$test2' >
<input type='text' value= '$test3'>
</form>
");
?>
Спасибо за советы.
 

T. Anre

Новичок
Re: как изменять переменную в форме <input type=text> средствами php

Автор оригинала: Webrusher
Приветствую, подскажите плиз..
Есть три формы с текстом, в первые две формы вводятся цифры, а в третьей показывается результат математических действий между этими цифрами, как добиться того чтобы результат показывался в зависимости от вводимых цифр сразу (без перехода на другую страницу) в третьей форме?

<?php
$test3=$test1*$test2;
print("
<form>
<input type='text' value='$test1' >
<input type='text' value='$test2' >
<input type='text' value= '$test3'>
</form>
");
?>
Спасибо за советы.
Это можно сделать через ажакс, но в данном случае лучше воспользоваться простым JS.
 

filipchuk

Новичок
почитай про события елемента формы input
аджакс тут излишен
да и советовать аджакс человеку, который не знает елементарного джава-скрипта, не разумно :)
 

Фанат

oncle terrible
Команда форума
Webrusher
а где здесь другая страница?
по-моему, здесь все время одна и та же
 

Mr_Max

Первый класс. Зимние каникулы ^_^
Команда форума
Webrusher

1. Привести к числовому типу
n1 = parseInt(num1);
n2 = parseFloat(num2);

2. сумировать и вставить в поле
что-то типа этого

<form action="" name="theForm"><input type="text" name="_n1" value="2"><input type="text" name="_n2" value="3"><input type="text" name="_sum"></form>
<script type="text/javascript">
n1 = parseInt(document.theForm._n1.value);
n2 = parseInt(document.theForm._n2.value);
document.theForm._sum.value = n1+n2;
</script>
 

Webrusher

Новичок
В том то и дело, как вычислить, допустим сложение двух переменных в первых двух формах и результат вывести в третьей, без обработчика формы. Что то типа конвертора валют, вводишь в рублях и сразу получаешь результат в долларах.
ЯваСкрипт действительно не знаю, сейчас начинаю изучать пхп, вот столкнулся с такой проблемой.
 

Фанат

oncle terrible
Команда форума
Ну, раз столкнулся, то переставай изучать пхп и начинай изучать яваскрипт.

хотя лично я здесь никакой проблемы не вижу, поскольку все прекрасно работает и с перезагрузкой.
 

dron4ik

Новичок
не смог удержаться:
<html>
<head>
<title>Untitled</title>
</head>
<script>
function result(){
if (document.getElementById('first').value==''){
first = 0;
}else{
first = parseInt(document.getElementById('first').value);
}

if (document.getElementById('second').value==''){
second = 0;
}else{
second = parseInt(document.getElementById('second').value);
}
action = document.getElementById('action').value;

if (action=='+'){
document.getElementById('result').value = first+second;
}else if (action=='-'){
document.getElementById('result').value = first-second;
}else if (action=='*'){
document.getElementById('result').value = first*second;
}else if (action=='/'){
document.getElementById('result').value = first/second;
}
}
</script>
<body>
<input type="Text" name="first" id=first>
<select name=action id=action>
<option value="+">+
<option value="-">-
<option value="*">*
<option value="/">/
</select>
<input type="Text" name="second" id=second>
<input type="Text" name="result" id=result onfocus="result();">
</body>
</html>
 
Сверху