2013-04-26 97 views
0

我们有我们想收集一些自己的表单提交数据的客户端。用户将填写表格,在他们的网站和表单提交时,下面的JavaScript被称为:发送表单变量数据到其他网站上的表单提交

/* 4. Below script will get all field name/value pairs for given form */ 
function cpcshowElements(f) { 
    var formElements = ""; 
    for (var n=0; n < f.elements.length; n++) { 
     box = f.elements[n]; 
     if (!f.elements[n].value == ""){ 
      formElements += box.name + ":" + f.elements[n].value + ",\n"; 
     } 
    } 
    var track = new Image(); 

    /*send data to us*/ 
    track.src="https://www.xxx.com/form_record.cfm?form="+formElements; 
    //alert("The elements in the form '" + f.name + "' are:\n\n" + formElements); 
} 

这就要求我们的最终代码,应该抓住发送的数据并保存。这很好,但不是一直工作。测试时,我们似乎没有一致地获取数据。我一直无法弄清楚为什么有时会起作用,而不是其他人。我不是一个JavaScript专家,所以我不确定这是否只是JavaScript的工作方式。我唯一能想到的问题可能是,一旦客户端网站完成处理表单并将用户导向另一个页面,脚本将停止运行,如果尚未完成,那么我们将无法获取数据。有人有主意吗?我在正确的轨道上吗?关于如何制作它的任何想法,我们每次都会获取数据?

+0

你知道JQuery的? – 2013-04-26 18:03:27

+0

尝试执行页面导航时执行某些操作时,行为不一致。您可以停止表单提交行为,设置该图像的'src',并在发生'load'事件(意味着完成对服务器的请求)时提交表单。 – Ian 2013-04-26 18:04:39

+0

我无法控制客户网站或其表单行为。我得到客户添加一个onclick事件到他们的表单提交按钮,调用上面的JavaScript文件,他们也包括在他们的表单页面上。这是他们唯一允许的事情。 – user2249342 2013-04-26 18:27:39

回答

0

你可以你jQuery Framework with serialize function tosubmit形式,并把它输入的值。

$("#bottonId").click(function(){ 


imageObj.src ="http://www.mypage.com/mypage?" +$("#form's ID").serialize(); 

}); 
+0

我对表单没有任何控制权。看到我上面的评论。 – user2249342 2013-04-26 18:35:02

+0

我问你是否知道Jquery。如果你没有,写下表格ID和提交buttom ID,我可以帮你。 – 2013-04-26 18:39:03

+0

我知道jQuery足以让所有人都感受到但不是深刻。 – user2249342 2013-04-26 18:41:06