<script language="javascript">
function switch_status($id, $old, $form) {
confirm_sw= confirm ("Меняем статус записи с ID ="+$id + " формы " +$form);
if(confirm_sw== true) {
document.$form.submit();
}
else{
document.$form.select.value = $old;
}
}
</script>
// тут идет циклом несколько форм, формирующихся их Mysql базы
<? $form = $row_view_orders['id']; ?>
<form action="action.php" name="form<?php echo $form; ?>" target="_blank" method="post">
<select name="status" onchange="switch_status(<?php echo $row_view_orders['id']; ?>,<?php echo $id_status ?>, 'form<? echo $form?>')" >
<?php do { ?>
<option value="<?php echo $row_status['id']?>" <? if($row_status['id']==$id_status) { echo " selected";}?> >
<?php echo $row_status['id']?> / <? echo $id_status?> - <?php echo $row_status['status_name']?></option>
<?php } while ($row_status = mysql_fetch_assoc($status));
$rows = mysql_num_rows($status);
if($rows > 0) { mysql_data_seek($status, 0); $row_status = mysql_fetch_assoc($status); } ?>
</select>
</form>
Javascript submit из функции
Код:
Если прицепить кнопку сабмит, то все сабмитит отлично, а если самбит проводить по onchange в теле функции switch_status то ничего не происходит , спотыкается именно на
document.$form.submit();
Заранее спасибо.
Попробуй Submit() - именно с большой буквы.
Код:
<a href="java script:void(0)" class="style3" onclick="document.form<? echo $row_view_orders['id']?>.submit() ; reload_page(); return false;"><img src="../../images/ok.gif" width="15" height="15" hspace="2" border="0" /></a>
постит нормально а из функции не хочет
эксплорер ругается, говорит
document.$form = NULL или не является объектом
постит нормально а из функции не хочет
эксплорер ругается, говорит
document.$form = NULL или не является объектом[/QUOTE]
Я пригляделся... Ты JavaScript с PHP нигде не попутал? По моей логике, функция должна выглядеть так:
Код:
function switch_status(id, old, form) {
confirm_sw= confirm ("Меняем статус записи с ID ="+id + " формы " +form);
if(confirm_sw== true) {
document.form.submit();
}
else{
document.form.select.value = old;
}
}
confirm_sw= confirm ("Меняем статус записи с ID ="+id + " формы " +form);
if(confirm_sw== true) {
document.form.submit();
}
else{
document.form.select.value = old;
}
}
я чисто на автомате после php ставил $
не работает ни так, ни так
в итоге пришлось сделать так:
Код:
document.forms[counter].submit();
ну и соответственно немного поменять html/php
Имена переменным назначаются разработчиком и могут состоять только из латинских букв a-z и A-Z, цифр 0-9 и символа подчерки-вания “_”. При этом имя переменной не может начинаться с цифры. Имена переменных не должны совпадать с зарезервированными словами JavaScript.
я чисто на автомате после php ставил $
не работает ни так, ни так
в итоге пришлось сделать так:
Код:
document.forms[counter].submit();
ну и соответственно немного поменять html/php[/QUOTE]
Вообще, есть довольно чёткая DOM-модель документа. С формами и элементами в них общаться проще всего.
У объекта document есть коллекция forms. К каждой форме (item'у этой коллекции можно обратиться по его имени).
Т.е.: document.forms.form_name.Submit(). Но можно и как document.getElementById('form_name').Submit(). Но второе работает только на mshtml, если у формы не определён id.
У объекта document есть коллекция forms. К каждой форме (item'у этой коллекции можно обратиться по его имени).
Т.е.: document.forms.form_name.Submit(). Но можно и как document.getElementById('form_name').Submit(). Но второе работает только на mshtml, если у формы не определён id.[/QUOTE]
--------------------------------------------------
Так... замечание "document.forms.form_name.Submit()" - это НЕ DOM.
Так... замечание "document.forms.form_name.Submit()" - это НЕ DOM.[/QUOTE]
Я, конечно, дико извиняюсь, но что есть IHTMLDocument2->IHTMLFormsCollection->IHTMLFormElement? Может это и не DOM, но модель с методами и свойствами - понятная. ;)