0

我们有许多客户同意在他们的网站上提交表单后向我们发送他们的表单数据。这可能吗?处理这个问题的最佳方法是什么?我们的站点采用冷融合构建,而客户站点各不相同。

我让客户端添加了一个脚本标签,以在他们的表单页面上包含来自我们服务器的 javascript 文件。还让他们向他们的表单按钮添加一个 onClick 事件,以便在提交他们的表单时调用这个 javascript。

这是 javascript 文件:

function cpcshowElements(f) {
var formElements = "";
for (var n=0; n < f.elements.length; n++) {
    box = f.elements[n];
    formElements += box.name + ":" + f.elements[n].value + ",\n";
}
var track = new Image();
/*send data to us*/
track.src="http://XXX.net/form_record.cfm?form="+ formElements + "&self=" + this.location;  
}

在提交表单时,调用 cpcshowElements 函数,格式化表单数据,将其附加到 XXX.net/... 的末尾并调用该 url。form_record.cfm 页面基本上会进行一些检查并将数据插入到表中。

这个过程确实有效,但并非始终如一。数据并不总是进入数据库。那就是问题所在。还有另一种不会丢失数据的方法吗?

4

2 回答 2

2

检查服务器上的表单是否是通过非onClick. 如果可以通过点击enter或 Tab 键和点击enter或空格键来提交表单,那么您错过了一些提交。onSubmit将与而不是更一致地工作onClick

例子:

<form onsubmit="your_function_here">

此外,如果表单正在提交然后移动到另一个页面,您的 javascript 代码可能没有足够的时间来触发。在这种情况下,请在您的函数中设置延迟,以允许在页面消失之前发出对图像的 GET 请求。

于 2011-11-30T18:57:37.800 回答
2

进入数据库的数据在链条的深处。第一步是找出请求没有通过的地方。找到薄弱环节,然后修复那个部分。

很可能,除了这段 javascript 之外,还有其他问题导致失败。测试流程的每个部分并找出问题所在。很可能,它不在 javascript 中。

于 2011-11-30T17:23:12.003 回答