关于ajax提交表单

今天主要是四个问题:

1.表单页面元素的获取;

2.按钮的值的获取;

3.按钮的值以变量提交;

4.表单的提交;

    1. 获取表单元素时用的是事件委托的方法。{犯的错误:1、用获取表格父级元素的方法获取,没有意识到表单的值是填在value里面的,而表格里面的值直接在th容器里填的                          2、在考虑父级元素时没有考虑到它所有的容器都属于他的父级元素                                                                                       3、在获取子元素时,没有意识到childnode是一个数组,当子元素含有多个子级时,每一个子级都有一级对应childnode[?]
    2. 获取按钮的值的代码,首先每个按钮都有自己对应的value,将从后台获得的值附给对应的按钮是它处于选中状态。

      var radiovar = document.getElementsByName("sex");
                  if (radiovar[0].value=== node.childNodes[2].innerHTML )
                  {
                      radiovar[0].checked="checked";
                  }
                  if (radiovar[1].value===node.childNodes[2].innerHTML )
                  {
                      radiovar[1].checked="checked";
                  }

      3.然后将表单上的值取出来,又传给后端。

       var scct =‘‘;
              if(node.childNodes[2].childNodes[0].childNodes[0].checked===true){
                  scct=‘M‘;
              }
              else if(node.childNodes[2].childNodes[0].childNodes[0].checked===false){
                  scct=‘F‘;
              }

      4.表单的提交,开始用的是

       this.location = "../requests/myPhotographers/dropPhotographer.php?account=" + act + "";

      的方法,发现判断它返回值的函数不能使用,是因为此方法会使页面跳转,所以使用ajax提交表单的方法提交

      if (fcStart === 0) {
                      $(‘#usemf‘).on(‘submit‘, function (e) {
                          // document.getElementById("aaa").innerHTML = ‘aaaaa‘;//when form submit
                          // alert(‘submit!‘);
                          e.preventDefault();                   //prevent it being sent
                          var details = $(‘#usemf‘).serialize(); //serialize from data
                      });
      
                      var uem = new XMLHttpRequest();
                      uem.onload = function() {
                          if (uem.status === 200) {
                              var newLoad = "";
                              // var returnDataP = "error:Authentication Failed For RDS maybe username or password is incorrect";
                              // var returnDataA = "error:Access denied for user ‘gty‘@‘localhost‘ (using password: YES)";
                              // var returnDataN = "error:user not exist";
                              //定义匹配信息
                              var patt1=new RegExp("error:You do not have permission to modify the photographer!");
                              var patt2=new RegExp("The modification is successful!");
                              if (patt1.test(uem.responseText)){
                                  //如果返回数据为error。。,则弹出没有权限
                                  newLoad = "<div class=\"alert alert-block\" > <button type=\"button\" class=\"close\"  data-dismiss=\"alert\">&times</button> <h2>sorry!</h2> <h4>您没有修改权限!</h4></div>";
                                  setTimeout(dute,500)
                              }
                              if (patt2.test(uem.responseText)){
                                  //如果返回数据包含successful,则弹出修改成功
                                  newLoad = "<div class=\"alert alert-success\" > <button type=\"button\" class=\"close\" data-dismiss=\"alert\">&times</button> <h2>congratulation!</h2> <h4>修改摄影师成功!</h4></div>";
                                  setTimeout(dute,500)
                              }
                          }
                          document.getElementById("usemf").innerHTML = newLoad;
                      };
                      uem.open("get", "../requests/myPhotographers/modifyPhotographer2.php?account="+ncct+"&name="+acct+"&sex="+scct+ "" +"&phoneNumber="+pcct+"&email="+ecct+"", true);
                      uem.send();
                  }

      此方法不仅可以阻止页面跳转,还可以将数据以get的方式发送。

         

时间: 2024-12-19 23:32:10

关于ajax提交表单的相关文章

ajax提交表单

ajax提交表单在项目中常用,前台无论是简单的html.jsp或者是使用了easyui框架,提交表单都会使用到ajax,extjs框架其实也是使用了ajax只不过对其进行了封装了,我们使用的时候就更固定了些. 总的来说ajax提交表单可以分为两种,一种是无返回结果的,就是将表单数据提交给后台,后台处理完就完了:另一种就是有返回结果的,后台执行成功或失败的信息需要返回到前台. 1,无返回结果的 最简单的就是$("#formid").submit();直接将form表单提交到后台. 2,有

Jquery ajax提交表单几种方法详解

[导读] 在jquery中ajax提交表单有post与get方式,在使用get方式时我们可以直接使用ajax 序列化表单$( 表单ID) serialize();就行了,下面我来介绍两个提交表单数据的方法.$get方式提交表单get() 方法通过远程 HTTP 在jquery中ajax提交表单有post与get方式,在使用get方式时我们可以直接使用ajax 序列化表单$('#表单ID').serialize();就行了,下面我来介绍两个提交表单数据的方法. $get方式提交表单 get() 方

Validator验证Ajax提交表单的方法

当我们在一些稍微复杂的业务时,可能会遇到需要多个表单form在同一个页面的情况,但是提交一个表单以后不想页面刷新或者跳转,那么我们考虑到的就是Ajax提交表单,那么如何让Jquery的validator插件也可以对异步提交的表单进行验证呢?我们继续往下看. 在这里,我就用网络上的一个例子来说明好了. 下面是一个比较常见的jquery .ajax提交表单的写法 Js代码   $("#submitButton").click(function(){ //序列化表单 var param = 

分针网—每日分享:ajax提交表单

ajax提交表单在项目中常用,前台无论是简单的html.jsp或者是使用了easyui框架,提交表单都会使用到ajax,extjs框架其实也是使用了ajax只不过对其进行了封装了,我们使用的时候就更固定了些. 总的来说ajax提交表单可以分为两种,一种是无返回结果的,就是将表单数据提交给后台,后台处理完就完了:另一种就是有返回结果的,后台执行成功或失败的信息需要返回到前台. 1. 无返回结果的 最简单的就是$("#formid").submit();直接将form表单提交到后台. 2.

MVC中ajax提交表单示例

页面中: @using (Ajax.BeginForm("Login", "User", new AjaxOptions() { HttpMethod = "post", OnSuccess = "afterOk" })) { <input ...一些表单 <input type="checkbox" id="ckbrecord" name="ckbrecord&q

转载 jQuery中使用$.ajax提交表单

首先,新建Login.html页面: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head>     <title&g

ajax提交表单、ajax实现文件上传

ajax提交表单.ajax实现文件上传,有需要的朋友可以参考下. 方式一:利用from表单的targer属性 + 隐藏的iframe 达到类似效果, 支持提交含有文件和普通数据的复杂表单 方式二:使用jquery的$.ajax({..}), 支持提交普通表单,但不支持含有文件的复杂表单; ($.post 或 $.get底层用的都是$.ajax) 方式三:使用jquery插件ajaxFileUpload.js, 支持上传文件,但不支持提交表单 方式四:使用jquery.from.js,支持提交同时

ajax提交表单序列化(serialize())数据

知识点: $("#form").serialize();将表单数据序列化为标准URL编码文本字符串(key1=value1&key2=value2…). 以下用一个例子来演示ajax提交表单序列化数据. 表单内容: <form id="f1"> <label for="realname" >姓名:</label><input type="text" name="rea

JQuery ajax提交表单及表单验证

JQuery ajax提交表单及表单验证 博客分类: jsp/html/javascript/ajax/development Kit 开源项目 注:经过验证,formValidator只适合一个页面不超过一个表单的情况. 本例实现功能:通过ajax提交表单,并在提交表单前对表单的数据进行验证. 主要通过两个插件实现: 第一个: jQuery Form Plugin http://jquery.malsup.com/form 主要功能是ajax提交表单 第二个:jQuery formValida