是否有一种方法可以仅使用html和javascript替换表单提交中div的内容?
我试图用纯javascript而不是jquery来实现这一点。我有一个div,它有一个id表单并包含一个表单。提交表单时,如何清空此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
...
收听表单上的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()”包含在元素上。到目前为止您尝试了什么?如何停止表单提交以防止其从当前页面导航?