Jquery вызывать предопределенные функции? - PullRequest
0 голосов
/ 21 сентября 2010

Все учебники, которые я вижу в Интернете, на лету определяют функции для реагирования на обработчики событий. Я пытаюсь вызвать функцию JS, когда моя форма отправлена, но она никогда не работает правильно. В PHP:

echo "$(document).ready(function() { $(\"#newDate\").submit( ValidateForm('".$ID."') ); });";

Когда пользователь нажимает ввод для поля ввода, вместо отправки формы мне нужно вызвать функцию javascript. Эта строка кода неоднократно вызывает мою функцию в бесконечном цикле.

Ответы [ 2 ]

2 голосов
/ 21 сентября 2010

Вам нужна анонимная функция, чтобы обернуть её, например:

echo "$(document).ready(function() { $('#newDate').submit(function() { ValidateForm('".$ID."'); }); });";

Я изменил на одинарные кавычки и на #newDate, просто потому, что он немного чище для меня , если он не работает, просто оставьте стиль \" ... это не связано к актуальной проблеме.

Без анонимной функции она пытается немедленно проверить поле и присвоить результат обработчику событий, а это не то, что вам нужно.

0 голосов
/ 21 сентября 2010

Закрыть. Это должно выглядеть так:

echo "$(function() {\n\t",
     "$('#newDate').submit(function() {\n\t\t",
     "ValidateForm('" . $ID . "');\n\t",
     "});\n});";

Я добавил некоторое форматирование, чтобы сделать вещи более читабельными после изучения источника.

Обратите внимание на новую анонимную функцию. Это поможет вам сработать.

...