2017-02-12 144 views
0

我不能得到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

+0

如果您不能'设置属性'为undefined,则undefined元素为'self.pageList [tileId]'。什么是“(”this“).id'?这应该是'undefined'我认为(除非你为'String'原型定义了一个'id'属性)。 –

+0

当然是,非常感谢。 – linearSpin

回答

2

我只是猜测,但("this").id应该undefined。您可能想要将其更改为:

​​
0

我相信你在你的HTML中有特殊字符。我复制并粘贴到/从纯文本编辑器,它工作正常。尝试在此处复制并粘贴formHTML。

$('#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>