无法将文本输入内容打印到Chrome开发者控制台,求错误排查
你的代码里有几个小问题,我帮你指出来并修复:
首先看你的JavaScript代码,有两个明显的错误:
- 字符串引号未闭合:你写的
console.log('userInput);里,开头的单引号没有对应闭合,这会直接导致语法错误,浏览器根本没法正常执行这个函数。 - 没有获取输入框的实际值:你用
document.getElementById('userInput')拿到的是输入框这个DOM元素对象本身,不是用户输入的文本内容。要获取输入的内容,需要加上.value属性。
另外还有一个容易忽略的问题:你的按钮是表单里的提交按钮,点击它会触发表单的默认提交行为,导致页面刷新,这样你可能还没来得及看控制台的输出,页面就已经重新加载了。所以需要在函数里阻止这个默认行为。
下面是修复后的完整代码:
HTML部分
<html> <body> <div class="container"> <div class="form-group"> <form name="myForm"> <label name='header'> Some label </label> <input id='userInput' type='text' class='form-control' placeholder="some javascript value comes here" name='myInput'> <button onclick="someFunction(event)"> Submit </button> </form> </div> </div> </body> </html>
JavaScript部分
<script> function someFunction(event){ // 阻止表单默认提交行为,避免页面刷新 event.preventDefault(); // 获取输入框的实际值 var userInputValue = document.getElementById('userInput').value; // 打印到控制台 console.log(userInputValue); } </script>
这样修改后,点击提交按钮就能在控制台看到用户输入的内容啦~
内容的提问来源于stack exchange,提问作者just another perl hacker
相关产品推荐
相关产品推荐

