私は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
の値が得られないのか分かりません。
未定義のプロパティを設定できない場合、定義されていない要素は 'self.pageList [tileId]'です。 '(" this ")。id'とは何ですか?これは 'undefined'でなければなりません(' String'プロトタイプの 'id'プロパティを定義しない限り)。 –
もちろん、ありがとうございます。 – linearSpin