同じフォーム送信機能で 2 つの機能を呼び出そうとしています。しかし、代わりに非常に長いエラーが発生しています。
<form name="form1" method="post" onClick="myFunction();">
<input type="text" name="DomainName" id="Domain_name" required=""/>
<input type="submit" value="Submit" />
<div id="list_container"></div>
<div id="table_container"></div>
</form>
私が使用するJavaScriptはこれです:
function myFunction() {
var input_domain = document.forms["form1"]["DomainName"].value;
if (input_domain == null || input_domain == "") return;
var container = document.getElementById("list_container");
var ul = document.createElement("ul");
var navLinks = ["crawler3", "crawler4", "crawler5"];
for (var i = 0; i < navLinks.length; i++) {
ul.innerHTML += "<li> " + navLinks[i] + "</li>";
}
document.getElementById("list_container").appendChild(ul);
return false;
}
function createTable() {
var input_domain = document.forms["form1"]["DomainName"].value;
if (input_domain == null || input_domain == "") return;
var table = document.createElement("table");
var names = ["website1", "website2"];
var container = document.getElementById("table_container");
var tablebody = document.createElement("tbody");
for (var i = 0, len = names.length; i < len; ++i) {
var row = document.createElement("tr"),
column1 = document.createElement("td"),
column2 = document.createElement("td"),
column3 = document.createElement("td"),
column4 = document.createElement("td"),
checkbox = document.createElement('input');
checkbox.type = "checkbox";
checkbox.name = names[i];
checkbox.value = names[i];
checkbox.id = names[i];
var label = document.createElement('label')
label.htmlFor = names[i];
label.appendChild(document.createTextNode(names[i]));
column1.appendChild(checkbox);
column1.appendChild(label);
var dropdown = document.createElement("select");
dropdown.name = names[i] + "_select";
var op1 = new Option();
op1.value = "enable";
op1.text = "enable";
var op2 = new Option();
op2.value = "disable";
op2.text = "disable";
dropdown.options.add(op1);
dropdown.options.add(op2);
column2.appendChild(dropdown);
var datetime_from = document.createElement('input');
datetime_from.type = "datetime-local";
datetime_from.name = names[i] + "_from";
column3.appendChild(datetime_from);
var datetime_to = document.createElement('input');
datetime_to.type = "datetime-local";
datetime_to.name = names[i] + "_to";
column4.appendChild(datetime_to);
row.appendChild(column1);
row.appendChild(column2);
row.appendChild(column3);
row.appendChild(column4);
tablebody.appendChild(row);
}
table.appendChild(tablebody);
document.getElementById("table_container").appendChild(table);
}
私が得ているエラーはこれです:
{"error": "シェル フォームが検証されません{'html_initial_name': u'initial-js_lib', 'form': , 'html_name': 'js_lib', 'html_initial_id': u'initial-id_js_lib', 'label' : u'Js lib', 'field': , 'help_text': '', 'name': 'js_lib'}{'html_initial_name': u'initial-js_wrap', 'form': , 'html_name': 'js_wrap ', 'html_initial_id': u'initial-id_js_wrap', 'label': u'Js wrap', 'field': , 'help_text': '', 'name': 'js_wrap'}"}
ページのリロードを防ぐために関数の最後に戻ってみfalse
ましたが、それでも機能しません。助けてください!