我的左侧分配无效。
我正在尝试使用jscolor http://jscolor.com定义通过Mapbender http://mapbender.org绘制的多边形的颜色。
我的工作:通过单击选择一个多边形,然后打开选项对话框(单独的窗口),其中有包括颜色在内的多个选项。
我的代码:
if (isTransactional) {str += "\t\t<tr>\n";
var options = ["insert", "update", "delete", "abort", "pick"];
for (var i = 0 ; i < options.length ; i++) {
var onClickText = "this.disabled=true;var result = window.opener.formCorrect(document, '"+featureTypeElementFormId+"');";
onClickText += "if (result.isCorrect) {";
onClickText += "window.opener.dbGeom('"+options[i]+"', "+memberIndex+"); ";
// onClickText += "window.close();";
onClickText += "}";
onClickText += "else {";
onClickText += "alert(result.errorMessage);this.disabled=false;"
onClickText += "}";
if (options[i] == "insert" && hasGeometryColumn && (!fid || showSaveButtonForExistingGeometries)) {
str += "\t\t\t<td><input type='button' name='saveButton' value='"+msgObj.buttonLabelSaveGeometry+"' onclick=\""+onClickText+"\" /></td>\n";
}
if (!featureTypeMismatch && fid) {
if (options[i] == "update" && hasGeometryColumn) {
str += "\t\t\t<td><input type='button' name='updateButton' value='"+msgObj.buttonLabelUpdateGeometry+"' onclick=\""+onClickText+"\"/></td>\n";
}
if (options[i] == "delete"){
var deleteOnClickText = "var deltrans = confirm('"+msgObj.messageConfirmDeleteGeomFromDb+"');";
deleteOnClickText += "if (deltrans){";
deleteOnClickText += onClickText + "}";
str += "\t\t\t<td><input type='button' name='deleteButton' value='"+msgObj.buttonLabelDeleteGeometry+"' onclick=\""+deleteOnClickText+"\"/></td>\n";
}}
if (options[i] == "abort") {
str += "\t\t\t<td><input type='button' name='abortButton' value='"+msgObj.buttonLabelAbort+"' onclick=\"window.close();\" /></td>\n";
}
if (options[i] == "pick") {
var color;
str += "<td><input class='color' name='color' id='cPick' onchange="+color+"></td>";
str += "<td><input type='text' id='text' value="+color+"></td>";
//color = document.getElementById('cPick').value;
//var color2 = color;
//alert(color2);
}
}str += "\t\t</tr>\n";}str += "\t</table>\n";str += "<input type='hidden' id='fid' value='"+fid+"'>";
//str += "<input type='text' name='mb_wfs_conf'>";
str += "</form>\n";}return str;}
应用程序:
这是一个Mapbender应用程序,用于显示地图并在其上绘制。您可以绘制点,线和面,也可以合并和分割它们。
您也可以选择绘制的多边形来更改它们。
使用:
PHP,JavaScript,HTML,CSS,Mapbender,jQuery,Geoserver,PostgreSQL,WMS,WFS-T
最佳答案
我很确定是因为这个;
str += "<td><input class='color' name='color' id='cPick' onchange=" + color = document.getElementById('cPick').value; + "></td>";
做就是了
var color = document.getElementById('cPick').value;
str += "<td><input class='color' name='color' id='cPick' onchange=" + color + "></td>";
编辑:不知道您要做什么,因为颜色不是函数,但是它应该停止显示您得到的错误。