jquery提交vs javascript事件
我有一个按钮,在调用onclick事件后调用javascript函数。这个函数验证我的条目,然后创建一个ajax对象来填充我的信息表。除了我添加以下代码外,一切似乎都正常工作:jquery提交vs javascript事件,javascript,jquery,ajax,Javascript,Jquery,Ajax,我有一个按钮,在调用onclick事件后调用javascript函数。这个函数验证我的条目,然后创建一个ajax对象来填充我的信息表。除了我添加以下代码外,一切似乎都正常工作: echo "$(document).ready(function() { $(\"#newDate\").submit( function() { ValidateForm('$ID'); } ); });"; ValidateForm()与onclick事件调用的函数相同,只是在发送aja
echo "$(document).ready(function() { $(\"#newDate\").submit( function() {
ValidateForm('$ID');
} ); });";
ValidateForm()与onclick事件调用的函数相同,只是在发送ajax请求后,如果没有空警报,它似乎无法工作。在四处寻找之后,我发现了。我理解那篇文章中的问题,除非无论我做什么都不能解决我的问题。在成功建立就绪状态后,我尝试将send移到匿名函数中,甚至尝试将open方法中的最终参数设置为-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“$(文档).ready($(函数()
{
$('#newData')。单击(函数()
{
var dt=document.newDate.uinput;
如果(isDate(dt.值)=假)
{
dt.focus();
返回false;
}
美元(
{
url:'populatedTable.php',
数据:'dateString='+dateString+'&CQID='+CQID,
成功:函数()
{
$('#BoxCarCapacityDates').html(响应);
}
});
});
});
); ";
上面的代码是作为答案提交的,但它似乎根本不起作用。您是否已将按钮更改为提交按钮?如果没有此按钮,表单将不会提交 您还需要添加:
e.preventDefault();
添加到您要附加到表单提交事件的函数中,以确保表单不只是将信息发布(或获取)到其操作
URL:
echo "$(document).ready(function() { $(\"#newDate\").submit( function(e) {
e.preventDefault();
ValidateForm('$ID');
} ); });";
你准备好用jQuery查询你的代码了吗?如果是的话,试试这个
$(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);
}
});
});
});
什么是#newDate?按钮?表单?另外,如果您要在PHP中嵌入javascript,请尝试使用herdoc。$script=当我将按钮更改为submit按钮时,该按钮的事件不起作用。这没关系,因为当我使用该按钮时,该函数起作用。并添加e.preventDefault();最后,我的提交函数似乎不起作用。我唯一的问题是将我的javascript函数挂接到我的提交操作中,让我的ajax真正起作用。出于某种原因,这根本不起作用。我将我的问题附加到你的建议中,以确保我实现了它。使用提交有什么目的吗?你真的提交了吗设置窗体?或者单击()事件是否对您更有效?如果是,请将单击()事件设置为a或类似的值。是否触发过您的事件处理程序?尝试在其中放置警报()以确保安全。
$(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);
}
});
});
});