是否有一种方法可以仅使用html和javascript替换表单提交中div的内容?

是否有一种方法可以仅使用html和javascript替换表单提交中div的内容?,javascript,html,Javascript,Html,我试图用纯javascript而不是jquery来实现这一点。我有一个div,它有一个id表单并包含一个表单。提交表单时,如何清空此div的内容并将其替换为已提交的文本表单 ... 收听表单上的submit事件,然后替换容器的innerHTML document.addEventListener('DOMContentLoaded',function(){ const formContainer=document.querySelector('.form'); const form=form

我试图用纯javascript而不是jquery来实现这一点。我有一个div,它有一个id表单并包含一个表单。提交表单时,如何清空此div的内容并将其替换为已提交的文本表单


...

收听表单上的
submit
事件,然后替换容器的
innerHTML

document.addEventListener('DOMContentLoaded',function(){
const formContainer=document.querySelector('.form');
const form=formContainer.querySelector('form');
表单.addEventListener('submit',函数(){
formContainer.innerHTML=`谢谢您告诉我有关${form.someInput.value}`;
});
});

提交

收听表单上的
submit
事件,然后替换容器的
innerHTML

document.addEventListener('DOMContentLoaded',function(){
const formContainer=document.querySelector('.form');
const form=formContainer.querySelector('form');
表单.addEventListener('submit',函数(){
formContainer.innerHTML=`谢谢您告诉我有关${form.someInput.value}`;
});
});

提交

为表单及其周围的div指定一个ID:

<div class="form" id="form-wrapper">
   <form id="my-form" action="#">

   </form>
</div>

但是请记住,这里我们只是阻止表单提交,所以我猜您会希望在
提交的
函数中添加一些AJAX处理。

为表单及其周围的div提供一个ID:

<div class="form" id="form-wrapper">
   <form id="my-form" action="#">

   </form>
</div>

但是请记住,这里我们只是阻止表单提交,所以我猜您会希望在
提交的
函数中添加一些AJAX处理。

这里有几点需要注意

  • 当一个表单正常提交时,它会离开页面,所以你需要阻止它
  • 鉴于您现在已经中断了正常的表单提交过程,您需要异步提交表单,最好等待请求完成
  • 在同一位置,您可以更新
  • 例如,在文档底部的
    标记中,就在
    前面

    let div=document.querySelector('.form')//按类查找第一个元素
    让form=div.querySelector('form')//按标记查找表单
    form.addEventListener('submit',e=>{
    //停止页面导航
    e、 预防默认值()
    //通过AJAX提交表单
    获取(形式动作){
    方法:form.method
    正文:新表单数据(表单)
    })。然后(res=>{
    //现在更新内容
    div.innerHTML=res.ok?'Form Submitted':'Form submit failed'
    })
    })
    


    注意,这将以
    多部分/form data
    的形式提交表单。如果您的后端只需要
    应用程序/x-www-form-urlencoded
    ,那么您需要做更多的工作。请参见这里有几件事需要注意

  • 当一个表单正常提交时,它会离开页面,所以你需要阻止它
  • 鉴于您现在已经中断了正常的表单提交过程,您需要异步提交表单,最好等待请求完成
  • 在同一位置,您可以更新
  • 例如,在文档底部的
    标记中,就在
    前面

    let div=document.querySelector('.form')//按类查找第一个元素
    让form=div.querySelector('form')//按标记查找表单
    form.addEventListener('submit',e=>{
    //停止页面导航
    e、 预防默认值()
    //通过AJAX提交表单
    获取(形式动作){
    方法:form.method
    正文:新表单数据(表单)
    })。然后(res=>{
    //现在更新内容
    div.innerHTML=res.ok?'Form Submitted':'Form submit failed'
    })
    })
    


    注意,这将以
    多部分/form data
    的形式提交表单。如果您的后端只需要
    应用程序/x-www-form-urlencoded
    ,那么您需要做更多的工作。请参见

    请编辑您的问题,将HTML代码使用“.innerText()”包含在元素上。到目前为止,您尝试了什么?您如何停止表单提交以防止其离开当前页面?请编辑您的问题,将HTML代码使用“.innerText()”包含在元素上。到目前为止您尝试了什么?如何停止表单提交以防止其从当前页面导航?