2010-09-21 78 views
0

我在网上看到的所有教程都定义了即时响应事件处理函数的函数。我正在尝试在提交表单时调用JS函数,但它的工作原理并不正确。在PHP中:jquery调用预定义函数?

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

当用户点击输入字段时,而不是提交我的表单,我需要它调用一个javascript函数。这行代码在无限循环中反复调用我的函数。

回答

2

你需要一个匿名函数来包裹它,就像这样:

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

我改成单引号就#newDate也只是因为它是一个有点清洁,如果它不工作你只是离开\"风格......这与实际问题无关。

没有匿名函数它试图验证字段立即结果分配到事件处理程序,这是你不追求的。

0

关闭。它应该是这样的:

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

我加了一些格式,使你一旦检查源东西看起来更具可读性。

注意新的匿名函数。这会让事情适合你。