现在我正在一个项目中,后端有商家解决方案服务。不幸的是我搞砸了。最初,我们认为我们不必填充网站加载后“生成”的任何表单字段。所以我简单地使用了一些 javascript 来创建额外的表单条目,只需点击一个按钮。这工作得很好,我们可以使用用户放在那里的任何东西从 ColdFusion 上传到数据库。
但是我们的管理层没有给我们适当的设计要求。他只是回来说“好的,现在只需添加一些下拉菜单,以便他们选择版本”。我想你可以在这里看到问题。现在我们需要使用来自服务器的信息填充一些动态表单字段。Ergo 客户端解决方案现在基本上是废话。
所以我来为你帮助朋友。有没有办法仍然保留我对 JS 所做的功能与 ColdFusion 等效?我知道必须有,但我试图找到一个简单的转换。
addInput.js 文件的外观如下:
// JavaScript Document
var counter = 0;
var UID = counter + 1;
var limit = 3;
function addInput(divName){
if (counter == limit) {
alert("You have reached the limit of adding " + counter + " inputs");
}
else {
var newdiv = document.createElement('div');
newdiv.innerHTML = "<input type='hidden' value='new' name='Detail_ID'>"
+ "<input type='text' value='' name='level' maxlength=255 PASSTHROUGH='style=width:640;color:#editcolor#' TABINDEX='5'>"
+"<input type='text' value='' name='offer' maxlength=255 PASSTHROUGH='style=width:640;color:#editcolor#' TABINDEX='5'>"
+"<input type='text' value='' name='disclaimer' maxlength=255 PASSTHROUGH='style=width:640;color:#editcolor#' TABINDEX='5'>";
"<CFSELECT NAME = 'version_no' QUERY = VersionList VALUE = 'code' DISPLAY = 'description' SELECTED = #version_no# ></CFSELECT>"
document.getElementById(divName).appendChild(newdiv);
counter++;
}
}
这是在主 .cfm 页面上创建它的按钮:
<input type="button" value="Add Another VIP Level" onClick="addInput('dynamicInput');">