2010-09-21 99 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});"; 

我加了一些格式,使你一旦檢查源東西看起來更具可讀性。

注意新的匿名函數。這會讓事情適合你。