我有一個按鈕,調用onclick事件後調用JavaScript函數。該函數驗證我的條目,然後創建一個ajax對象來填充我的信息表。一切似乎都做工精細,除非我添加以下代碼:jquery提交與javascript事件
echo "$(document).ready(function() { $(\"#newDate\").submit(function() {
ValidateForm('$ID');
}); });";
ValidateForm()是相同的功能我onclick事件呼叫,除了似乎沒有放在一個空的警報後,我發送Ajax請求的工作不。在環視後,我發現a similar problem。我理解那篇文章中的問題,除非我做了什麼,我無法解決我的問題。在成功就緒狀態建立後,我嘗試將我的send移動到匿名函數中,甚至嘗試將我的最終參數設置爲-false-。 (我知道是不是一個有效的解決方案,但它並沒有反正工作。
那麼,爲什麼一切都完美地與onclick事件工作,但不是一個jQuery提交方法?提前
function ValidateForm(CQID)
{
var dt=document.newDate.uinput;
if (isDate(dt.value)==false){
dt.focus();
return false;
}
populateDateTable(dt.value, CQID);
}
function populateDateTable(dateString, CQID)
{
//After recieving a date and checking validity populate a table of proceeding dates.
var xmlhttp = createReq();
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("BoxCarCapacityDates").innerHTML= xmlhttp.responseText;
}
}
xmlhttp.open("GET",'populateDateTable.php?dateString='+dateString+'&CQID='+CQID, true);
xmlhttp.send();
}
謝謝(切換到一切jQuery的緩慢..)
echo "$(document).ready($(function()
{
$('#newData').click(function()
{
var dt=document.newDate.uinput;
if (isDate(dt.value)==false)
{
dt.focus();
return false;
}
$.get(
{
url: 'populateDateTable.php',
data: 'dateString='+dateString+'&CQID='+CQID,
success: function()
{
$('#BoxCarCapacityDates').html(response);
}
});
});
});
); </script>";
上面的代碼提交作爲一個答案,但它似乎並沒有在所有的工作。
是什麼#newDate?一個按鈕?形成? – 2010-09-23 22:39:31
這是我的表單ID。 – Aya 2010-09-23 22:41:03
另外,如果您要在PHP中嵌入JavaScript,請嘗試使用heredoc。 $ script = << SCRIPT SCRIPT; echo $ script。它非常適合多行字符串,並且特殊字符不需要轉義。 – 2010-09-24 12:29:27