автоматический post

Resident

Новичок
Скажите пожалуйста как сделать onChange ( происходит, в отдельных случаях поля формы select, text или textarea теряют фокус и их значения изменяются;)
так что бы при изменение этой формы !автоматически нажимался сабмит!, и пост параметры отправлялись
 
Ну если просто написать: onChange="this.form.submit()" - не работает? Или я вопрос не догнал?
 
Но если Вы на поле типа text повесите такую функцию без аякса, получится бред... Пользователь ввел букву - бах! сабмит! перезагрузка страницы или даже переход на другую страницу. Ну надеюсь Вы понимаете что делаете.
 
DIG
onChange на текстовых полях срабатывает когда поле теряет фокус.
 
имхо вообще так делать не стоит. Кроме матерящихся пользователей с таким подходом вы нифига не получите.
 
c0dex
Ну не факт.
Вполне имеет место быть. Я такое встречал :DDDD
Если, например, сабмит формы на саму себя для подгрузки
зависимого дропдауна (Страна-города, и т.д). :D
 
"так делать не стоит" и "Вполне имеет место быть" не противоречат друг другу.
Автоматический сабмит формы при onchange я приемлю только при навигации, когда выбираешь категорию какую-нибудь в селекте и тебя тут же на нее направляют.. хотя там помоему вообще при onclick.. так что я совсем не приемлю :)
 
c0dex
Ну не факт.
Вполне имеет место быть. Я такое встречал :DDDD
Если, например, сабмит формы на саму себя для подгрузки
зависимого дропдауна (Страна-города, и т.д). :D
Я написал именно про то, что ТС тут изобразил. Сие есть изврат и должно караться)))

Вот пишешь ты что-то в форме, и тут только в другое поле кликнул - хренак, пост пошел. Как так...:mad:
 
DIG
onChange на текстовых полях срабатывает когда поле теряет фокус.

Возможно, мне не приходило в голову попробовать, ну я просто хотел привлечь внимание ТС к тому что правильно сказал c0dex - так делать нельзя, по-моему.
 
Ой люди выручайте, пишу форму с двумя зависимыми списками + чекбокс как множитель не могу сделать так что бы расчёт производился после каждого onchek-a т.е. он производится но списки не могу сделать что бы становились по умолчанию теми с каким параметром придёт пост запрос
соори что всё так каряво ибо ничего не умел до этого
если кто сможет исправте\измените плииииз =)
вот код
<html>
<head>
<title>Untitled</title>

<script>
var Франция = Array('1 раз 10р.', '2 раза 40','3 раза 50');
var Россия = Array('1 раз 12р.', '2 раза 240','3 раза 250');
var Турция = Array('2 раза 2140','3 раза 2150');
var Германия = Array('2 раза 340','3 раза 350');


function showNames(v){
var mas = eval(v);
var el = document.getElementById('names');
while(el.childNodes.length>0){
el.removeChild(el.childNodes[el.childNodes.length-1]);
}
for(var i=0;i<mas.length;i++){
var opt = document.createElement("option");
opt.innerHTML=mas;
el.appendChild(opt);
}
}
</script>
<script type="text/javascript">
function FormSubmit(x) {
document.myform.action = x;
document.myform.submit();
return;
}
</script>
</head>

<body onload="showNames('Россия')">

<form method="POST" id="txt" class="application" accept-charset="utf-8" action="" >



<select name="strana" id="level" onchange="showNames(this.value)">
<option value="Россия">Россия</option>
<option value="Франция">франция</option>
<option value="Турция">турция</option>
<option value="Германия">германия</option>
</select>

<select name="cena" id="names" onChange="this.document.forms[0].submit()">

</select>
<input type="checkbox" name="dop" id="checkbox_0" value="0.2" onChange="this.document.forms[0].submit()" > Записывать звонки?<br>

<?php
if ($_POST['cena'] == "2 раза 240" && $_POST['strana'] == "Россия") {$t=240;}
if ($_POST['cena'] == "3 раза 250" && $_POST['strana'] == "Россия") {$t=250;}
if ($_POST['cena'] == "1 раз 12р." && $_POST['strana'] == "Россия") {$t=12;}
if ($_POST['cena'] == "1 раз 10р." && $_POST['strana'] == "Франция") {$t=10;}
if ($_POST['cena'] == "2 раза 40" && $_POST['strana'] == "Франция") {$t=40;}
if ($_POST['cena'] == "3 раза 50" && $_POST['strana'] == "Франция") {$t=50;}
if ($_POST['cena'] == "2 раза 2140" && $_POST['strana'] == "Турция") {$t=2140;}
if ($_POST['cena'] == "3 раза 2150" && $_POST['strana'] == "Турция") {$t=2150;}
if ($_POST['cena'] == "2 раза 340" && $_POST['strana'] == "Германия") {$t=340;}
if ($_POST['cena'] == "3 раза 350" && $_POST['strana'] == "Германия") {$t=350;}
if ($_POST['cena'] != FALSE)
{

echo '<br>Записывать - ';
if ($_POST['dop'] != FALSE) { echo ' да! ';} else { echo 'нет';}
echo '<br>Стоимость-';




if ($_POST['dop'] != FALSE){
echo ($t+$_POST['dop']*$t);
} else { echo $t;}
}
?>
 
вродеб разобрался, ну если у кого всё же будут идеи с удовольствием выслушаю=)
 
Извините за оффтопик, но ктож вас научил писать так: var Франция ? Я бы не рискнул русские буковки использовать в имени переменной\функции и т.п.
 
Это единственное, что тебя насторожило в этом, простите, коде? :D
 
Я дальше читать не стал :)
Отступов нет, подсветки нет, код длинный, мне лень в таком разбираться.
 
ну и ладно) помогите вот с этим, не работает как положено , положено работает только в опере

<input type="checkbox" name="dop" id="checkbox_0" value="0.2" onchange="this.document.forms[0].submit()" <?php if ($_POST['dop'] == "0.2"){ echo 'checked';} ?>> Записывать звонки?<br>

onchange="this.document.forms[0].submit()" наверно надо на что то заменить, не сабмитится в кроме и в ie
 
document.forms["form_name"].submit();
может так?
 
Сверху