Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
jquery提交vs javascript事件_Javascript_Jquery_Ajax - Fatal编程技术网

jquery提交vs javascript事件

jquery提交vs javascript事件,javascript,jquery,ajax,Javascript,Jquery,Ajax,我有一个按钮,在调用onclick事件后调用javascript函数。这个函数验证我的条目,然后创建一个ajax对象来填充我的信息表。除了我添加以下代码外,一切似乎都正常工作: echo "$(document).ready(function() { $(\"#newDate\").submit( function() { ValidateForm('$ID'); } ); });"; ValidateForm()与onclick事件调用的函数相同,只是在发送aja

我有一个按钮,在调用onclick事件后调用javascript函数。这个函数验证我的条目,然后创建一个ajax对象来填充我的信息表。除了我添加以下代码外,一切似乎都正常工作:

    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);
        }
    });


});

});