编辑:密码笔在这里:https://codepen.io/jeqp/pen/eYNEjoR
我正在使用其他人在Materialize中创建的表单,并且我正在尝试将该表单的用户输入对象中。我在控制台日志中收到以下错误:
未捕获的TypeError:无法读取未定义的属性'trim'
表单是在循环中创建的,我将在其中包含一个输入。
var userForm = $("#userConfirmTable"); var createLi = $("<li>").addClass("col m12 userConfirmList"); var createBox = $("<div>").addClass("input-field col s10"); var createLabel = $("<label>").attr("for", labelFor); var createBtn = $("<button>").addClass("col s2 waves-effect waves-light btn btnDelete"); var createMinus = $("<i>").addClass("fa fa-minus"); for (var c = 0; c < createLi.length; c++) { var idNum = c; } if (labelFor == "titleName") { var createInput = $("<input>").attr("type", "text").attr("id", "titleInput"); createBtn.attr("id", "titleBtnDel") // createLi.attr("id", "titleInput"); createBtn.append(createMinus); createLabel.text(textFor); createBox.append(createInput); createBox.append(createLabel); createLi.append(createBox); createLi.append(createBtn); userForm.append(createLi); var btnRemove = ".btnDelete"; removeDiv(btnRemove); };
然后,我尝试使用此输入:
,并且我期望一个字符串。console.log("btnconfirm clicked"); console.log("titleInput: " + JSON.stringify($("#titleInput"))); event.preventDefault(); var e = document.getElementById("titleInput"); console.log("e: " +e); console.log("e.textcontent: " + e.textContent); // make a new website obj var newWebsite = { // title title: $("#titleInput").val().trim(), // tagline
在Chrome的Elements部分中,我可以看到titleInput ID在表单的input部分中:但是titleInput的console.log返回以下内容:titleInput:{“ 0”:{},“ length”:1}
我在文档中找不到任何内容,也无法确定返回的内容以及从何处返回。任何帮助表示赞赏。
编辑:Codepen在这里:https://codepen.io/jeqp/pen/eYNEjoR我正在使用其他人在Materialize中创建的表单,而我正在尝试将该表单的用户输入一个东西。我得到...
我计算出这里有两个问题。首先是我的输入字段没有名称属性,因此我将上面的代码调整为包括一个: