[英]Getting undefined value for input control
在以下html
和javascript
代码(codepen - https://codepen.io/manuchadha/pen/OJVXdzb )中,我想打印input
控件的值,但我得到的值为undefined
- filename is undefined
。 为什么?
<!DOCTYPE html>
<html>
<head>
<title>some title</title>
<script src="jquery/jquery-3.3.1.min.js"></script>
<script src="index.js"></script>
</head>
<body>
<div id="add-more-answer-div">
<div id="answer-filename-div">
<label id="filename-label" for="answer-filename">Name</label>
<input type="text" id="answer-filename" />
<button
type="button"
id="more-answer-button"
onclick="createNewAnswerSection()"
>
Add More Sections
</button>
</div>
</div>
</body>
</html>
function createNewAnswerSection() {
console.log("will create new answer section");
var answerNameControl = $("#answer-filename");
console.log("answer name control is ", answerNameControl);
if (answerNameControl.value === "") {
alert("give a filename to the answer");
} else {
console.log("filename is ", answerNameControl.value);
}
}
请使用 answerNameControl.val() 而不是 answerNameControl.value
你应该使用val()
!
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <div id="add-more-answer-div"> <div id="answer-filename-div"> <label id="filename-label" for="answer-filename">Name</label> <input type="text" id="answer-filename"> <button type="button" id="more-answer-button" onclick="createNewAnswerSection()">Add More Sections</button> </div> </div> <script> function createNewAnswerSection() { console.log("will create new answer section"); var answerNameControl = $("#answer-filename").val(); console.log("answer name control is ", answerNameControl); if (answerNameControl === '') { alert("give a filename to the answer"); } else { console.log("filename is ", answerNameControl); } } </script>
您缺少 jQuery 的语法,您使用的answerNameControl.value
不是有效的语法,您可以使用$(answerNameControl).val()
来获取值您更新的代码如下
<html> <head> <title>some title</title> <script src="jquery/jquery-3.3.1.min.js"></script> <script src="index.js"></script> </head> <body> <div id="add-more-answer-div"> <div id="answer-filename-div"> <label id="filename-label" for="answer-filename">Name</label> <input type="text" id="answer-filename"> <button type="button" id="more-answer-button" onclick="createNewAnswerSection()">Add More Sections</button> </div> </div> </body> </html> <script> function createNewAnswerSection(){ console.log("will create new answer section"); var answerNameControl = $("#answer-filename"); console.log("answer name control is ",answerNameControl); if($(answerNameControl).val() === ''){ alert("give a filename to the answer"); } else { console.log("filename is ",$(answerNameControl).val()); } }
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.