Не работает аякс в jQuery Form
Из-за чего не работает jQuery 1.4.2 с плагином jQuery Form 2.52? Данные отправляются обычным методом, хотя мне нужен аякс.
<script>AjaxForm('#myform', '#display');</script> <form action="/test.php" method="post" id="myform"> <input name="name" type="text"> <input type="submit" value="Оправить"> </form> <div id="display"></div> function AjaxForm(form_id, output) { $(document).ready(function() { var options = { target: output, // target element(s) to be updated with server response beforeSubmit: AjaxWindow(true), // pre-submit callback success: AjaxWindow(false) // post-submit callback // other available options: //url: url // override for form's 'action' attribute //type: type // 'get' or 'post', override for form's 'method' attribute //dataType: null // 'xml', 'script', or 'json' (expected server response type) //clearForm: true // clear all form fields after successful submit //resetForm: true // reset the form after successful submit // $.ajax options can be used here too, for example: //timeout: 3000 }; // bind form using 'ajaxForm' $(form_id).ajaxForm(options); } Может с помощью универсальной функции не правильно (зато удобнее..), но сделал даже так: $(document).ready(function() { $('#myform').ajaxForm({ target: '#display', // target element(s) to be updated with server response beforeSubmit: AjaxWindow(true), // pre-submit callback success: AjaxWindow(false) // post-submit callback }); }); Ну не работает и все. |
<script>console.log($('#myform'), $('#display'));</script> <form action="/test.php" method="post" id="myform"> <input name="name" type="text"> <input type="submit" value="Оправить"> </form> <div id="display"></div> <script>console.log($('#myform'), $('#display'));</script> и смотрим в консоль firebug'а |
Вроде нашел в чем проблема: оказалось, что JS не понял параметры функции по умолчанию. Вообще они в нем существуют?
Я говорю про это: function php($var = true) {} static void csharp(bool var = true) {} UPD: Как я понял все должно быть вида $(document).ready(function() { $('#myform').ajaxForm({ target: '#display', // target element(s) to be updated with server response beforeSubmit: AjaxWindow(true), // pre-submit callback success: AjaxWindow(false) // post-submit callback }); }); Именно этот код и заработал, а не моя функция :(. Возможно ли работа этого кода в виде функции, которую я написал? |
сложно судить по коду который ты привел. Я сначала подумал, что ты пытаешься получить доступ к элементам до того, как они начали свое существование. Выполнение кода в $(document).ready(function(){ ... }) или просто в $(function(){ ... }) решает эту проблему
по поводу параметров по умолчанию... в js таких нету, но он нормально относится и к наличию лишних параметров, и к отсутствию указанных параметров ты можешь ссылку на страничку дать? |
Ticksy,
День добрый, коллега! Вы победили проблему с плагином jquery.form.js? И если да, то как? Очень меня это интересует. А точнее уже раздражает. Бьюсь уже 3-й день над ней. |
Часовой пояс GMT +3, время: 00:36. |