Javascript console.log不';不要在活动提交内工作

Javascript console.log不';不要在活动提交内工作,javascript,submit,addeventlistener,console.log,Javascript,Submit,Addeventlistener,Console.log,我不能做console.log。在事件监听器之外,它工作得完美无缺。但是,当我想在事件侦听器(表单提交)中执行console.log时,控制台中不会显示任何内容 <form id="formMovies"> <input type="text" id="title"> <button type="submit" id="boton">Guardar</button> </form> <script> var

我不能做console.log。在事件监听器之外,它工作得完美无缺。但是,当我想在事件侦听器(表单提交)中执行console.log时,控制台中不会显示任何内容

<form id="formMovies">
    <input type="text" id="title">
    <button type="submit" id="boton">Guardar</button>
</form>

<script>
var _form = document.querySelector("#formMovies");
var _title = document.querySelector("#title").value;

_form.addEventListener('submit', ()=>{
    console.log(_title);
});
</script>

瓜达尔
var#u form=document.querySelector(“#formMovies”);
var#u title=document.querySelector(#title”).value;
_form.addEventListener('submit',()=>{
控制台日志(_title);
});

问题是,当代码在单击按钮之前运行时,没有将值设置为
\u title
。获取事件处理程序函数中的值。您还可以使用
event.preventDefault()
来阻止表单的提交,并可以查看输出


瓜达尔
var#u form=document.querySelector(“#formMovies”);
_表格.addEventListener('submit',(e)=>{
var#u title=document.querySelector(#title”).value;
控制台日志(_title);
e、 预防默认值();
});
这是因为“提交”操作刷新了页面,这意味着浏览器控制台将被重新加载,所有日志将被清除

如果要停止此行为以查看日志消息,可以使用
preventDefault()
return false如:

_form.addEventListener('submit', (e)=>{
     e.preventDefault();
     console.log(_title);

     //Or
     //return false;
});

您必须防止在
type=submit
上触发get的默认操作(即用其他内容替换/重新加载页面),并根据需要在几秒钟后使用
form.submit()显式提交表单

var _form = document.querySelector("#formMovies");
var _title = document.querySelector("#title").value;

_form.addEventListener('submit', evt => {
    evt.preventDefault();
    console.log(_title);
});

提交后,页面将重定向到同一页面(没有href或操作)或其他页面,因此您无法看到控制台输出

据我所知,我已经找到了两种方法来处理这个问题

  • 对将停止重定向的事件调用preventDefault,您将看到控制台输出
  • 代码片段

    index.html

    <a class="clear-tasks btn black" href="some url">Clear Tasks</a>
    
    <a class="clear-tasks btn black" href="#">Clear Tasks</a>
    
  • 保持href=“#”
  • 代码片段

    index.html

    <a class="clear-tasks btn black" href="some url">Clear Tasks</a>
    
    <a class="clear-tasks btn black" href="#">Clear Tasks</a>
    

    您的意思是在您可以查看日志之前页面已被替换?您在用户设置值之前读取了值。第二次提交按钮刷新,这样你的控制台就会被删除,除非你选中了复选框在导航时保留控制台。可能重复(相同的原则,但这是jquery版本)