Не работает аякс в 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, время: 23:19. |