从FORM提交以AJAX代码获取POST结果

时间:2018-07-08 00:37:53

标签: javascript jquery ajax

当我将此Ajax.JS代码与URL一起使用时,它可以正常工作,并且可以从URL中获取变量。

但是当我将此代码与FORM一起使用时,无法从FORM中获取POST[]GET[]变量。

如何更改ajax.js代码以从FORM提交中获取POST[]变量?

我使用此示例表格,目标DIV和targetpage.php正常工作。

我需要在下面编辑ajax.js:

<div id="pw1">
    <form role="form" action="javascript:ajaxpage('targetpage.php', 'pw2');" method="post" name="myform" >
           <div class="form-group">
               <label>Mevcut Şifre</label>
               <input class="form-control"  type="text"  name="name" placeholder="name" />
               <button type="submit" class="btn btn-primary" >Send</button>
    </form>
</div>

<div id="pw2"></div>

ajax.js:

var bustcachevar=1
var loadedobjects=""
var rootdomain="http://"+window.location.hostname
var bustcacheparameter=""

function ajaxpage(url, containerid){
  var page_request = false
  if (window.XMLHttpRequest) // if Mozilla, Safari etc
  page_request = new XMLHttpRequest()
  else if (window.ActiveXObject){ // if IE
    try {
      page_request = new ActiveXObject("Msxml2.XMLHTTP")
    }
    catch (e){
      try{
        page_request = new ActiveXObject("Microsoft.XMLHTTP")
      }
      catch (e){}
    }
  }
  else
    return false
  page_request.onreadystatechange=function(){
    loadpage(page_request, containerid)
  }
  if (bustcachevar) //if bust caching of external page
    bustcacheparameter=(url.indexOf("?")!=-1)? "&"+new Date().getTime() : "?"+new Date().getTime()
  page_request.open('GET', url+bustcacheparameter, true)
  page_request.send(null)
}

function loadpage(page_request, containerid){
  if (page_request.readyState == 4 && (page_request.status==200 || window.location.href.indexOf("http")==-1))
  document.getElementById(containerid).innerHTML=page_request.responseText
  $('#' + containerid).find('input').keyboard({

  });
}

function loadobjs(){
  if (!document.getElementById)
  return
  for (i=0; i<arguments.length; i++){
    var file=arguments[i]
    var fileref=""
    if (loadedobjects.indexOf(file)==-1){ //Check to see if this object has not already been added to page before proceeding
      if (file.indexOf(".js")!=-1){ //If object is a js file
        fileref=document.createElement('script')
        fileref.setAttribute("type","text/javascript");
        fileref.setAttribute("src", file);
      }
      else if (file.indexOf(".css")!=-1){ //If object is a css file
        fileref=document.createElement("link")
        fileref.setAttribute("rel", "stylesheet");
        fileref.setAttribute("type", "text/css");
        fileref.setAttribute("href", file);
      }
    }
    if (fileref!=""){
      document.getElementsByTagName("head").item(0).appendChild(fileref)
      loadedobjects+=file+" "
    }
  }
}

0 个答案:

没有答案