не работает onsubmit = ("return false;")
Код:
<script type="text/javascript" >document.forms[0].onsubmit = ("return false;")</script> в чем проблема? -------- Код:
form method="post" action="setting.php" onsubmit="return false"> |
Как вариант...
<script type="text/javascript" > document.forms[0].onsubmit = function(){return false;}; </script> |
Цитата:
|
тогда у меня не работает такая конструкция почему?
function formaddfunction() { var oforms = document.forms; var fmethod; for (i = 0; i < oforms.length; i++) { fmethod = oforms[i].method; oforms[i].onsubmit = function() { sendquery(this, fmethod); return false; }; } } есле без sendquery(this, fmethod); то работает, а с ней работает только первая последняя форма, а верхние формы нет, и когда грузится штмл он автоматически запросы с верхних форм шлет пустые ячейки function formaddfunction() { var oforms = document.forms; var fmethod; for (i = 0; i < oforms.length; i++) { fmethod = oforms[i].method; oforms[i].onsubmit = ('sendquery(this, '"+fmethod+"'); return false;'); } } а так робит все четко но только в опере)) ---------- что подскажете? |
Цитата:
<!DOCTYPE html> <html> <head> <!-- <script src="http://code.jquery.com/jquery-latest.js"></script> <link rel="stylesheet" type="text/css" href="tmp.css" /> --> <style type="text/css"> </style> <script type="text/javascript"> function Go() { alert(1); }; </script> </head> <body> <form action='http://javascript.ru'> <input type='submit' value='Test' /> </form> <script type="text/javascript"> document.forms[0].onsubmit=function(){ Go(); return false; }; </script> </body> </html> |
так правильно, у вас там на одну форму работает, у меня тоже когда одной форме присваеваешь, вы же на цикл посмотрите она перебирает все формы которые только есть, есле 20 форм то он каждой форме присваивает онсубмит
|
Вот, не 20 форм конечно... Но все равно ничего не отправляется...
<!DOCTYPE html> <html> <head> <!-- <script src="http://code.jquery.com/jquery-latest.js"></script> <link rel="stylesheet" type="text/css" href="tmp.css" /> --> <style type="text/css"> </style> <script type="text/javascript"> function Go() { alert('Все равно форма не отправится...'); }; </script> </head> <body> <form action='http://javascript.ru'> <input type='submit' value='Test' /> </form> <form action='http://javascript.ru'> <input type='submit' value='Test' /> </form> <form action='http://javascript.ru'> <input type='submit' value='Test' /> </form> <form action='http://javascript.ru'> <input type='submit' value='Test' /> </form> <script type="text/javascript"> var i=0; while (document.forms[i]) { document.forms[i].onsubmit=function(){ Go(); return false; }; i++; }; </script> </body> </html> |
нашел свой бок)) ваше схема полностью работает, огромное спасибо то у меня бока с ПОСТ и ГЕТ по циклу
тему закройте |
function formpg() { var oforms = document.forms; var fmethod; for (i = 0; i < oforms.length; i++) { fmethod = oforms[i].method; oforms[i].onsubmit = function() { sendquery(this, fmethod); return false; }; } } есть такая конструкция, суть ее такова, что она считывает все формы, и всем формам задает sendquery(this, fmethod); return false; ------ fmethod - это метод передачи формы тоесть ПОСТ или ГЕТ все отлично робит, но один момент не работает,sendquery(this, fmethod) - он всегда подставляет метод последней формы, тоесть есле идет 2 формы первая к примеру пост а вторая гет, то во все формы он поставит гет - sendquery(this, fmethod=ГЕТ) sendquery(this, 'get') как мне написать что бы скрипт работал как надо, есле пост то пост, есле гет то гет???? не пойму в чем проблема вроде правильно завернул фукнцию |
function formpg() { var oforms = document.forms; for (i = 0; i < oforms.length; i++) { (function(i){ var fmethod = oforms[i].method; oforms[i].onsubmit = function() { sendquery(this, fmethod); return false; }; })(i); } }Если я верно понял вопрос, то тебе нужно попробовать как написано выше. Если это то, что нужно, то почитай про "замыкания". UPD Господа профессионалы, теперь вопрос от меня: мы же можем и не посылать 'i' в замыкающею функцию, верно? или это, все таки, обязательно? Вопрос касается данного случая. |
Часовой пояс GMT +3, время: 11:10. |