无法设置
问题描述:
我不能得到input[type='text']
#page-name
和#page-url
value属性未定义(输入[文]值)属性,它显示了不确定:无法设置
eventsDispatcher: function() {
var self = this;
$(".b-row a").click(function() {
var tileId = ("this").id;
$("#tile-edit").css("display", "block");
$("#tile-edit-save").click(function() {
self.pageList[tileId].name = $("#page-name").val(); // -> here
self.pageList[tileId].url = $("#page-url").val(); // -> here
console.log(self.pageList[tileId].name);
});
});
},
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="tile-edit">
<form>
<table>
<tr>
<td>
<label for="page-url">Adress</label>
</td>
<td>
<input type="text" name="page-url" id="page-url" class="">
</td>
</tr>
<tr>
<td>
<label for="page-name">Name</label>
</td>
<td>
<input type="text" name="page-name" id="page-name" class="">
</td>
</tr>
<tr>
<td>
<input type="button" id="tile-edit-save" value="save">
</td>
</tr>
</table>
</form>
</div>
其余该脚本工作正常,就像两个.click函数,只是不知道为什么它不会得到#page-name
和#page-url
值
答
我只是猜测,但("this").id
应该undefined
。您可能想要将其更改为:
答
我相信你在你的HTML中有特殊字符。我复制并粘贴到/从纯文本编辑器,它工作正常。尝试在此处复制并粘贴form
HTML。
$('#tile-edit-save').on('click',function() {
console.log($("#page-name").val())
console.log($("#page-url").val())
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form>
<table>
<tr>
<td><label for="page-url">Adress</label></td>
<td><input type="text" name="page-url" id="page-url" class=""></td>
</tr>
<tr>
<td><label for="page-name">Name</label></td>
<td><input type="text" name="page-name" id="page-name" class=""></td>
</tr>
<tr>
<td><input type="button" id="tile-edit-save" value="save"></td>
</tr>
</table>
</form>
如果您不能'设置属性'为undefined,则undefined元素为'self.pageList [tileId]'。什么是“(”this“).id'?这应该是'undefined'我认为(除非你为'String'原型定义了一个'id'属性)。 –
当然是,非常感谢。 – linearSpin