如何使我的Javascript表单在提交后在新窗口中打开

16 浏览
0 Comments

如何使我的Javascript表单在提交后在新窗口中打开

目前它只在同一个窗口中打开,我希望它在提交时在一个新窗口中打开。

以下是头部的内容:

 

以下是主体的内容:

0
0 Comments

问题的原因是,虽然使用target="_blank"属性可以将表单提交到新窗口,但是它不能直接跳转到用户想要的页面。

解决方法是,使用JavaScript来处理表单的提交,并且在提交时打开新窗口。

以下是解决方法的代码示例:


document.getElementById("myForm").addEventListener("submit", function(event) {
  event.preventDefault(); // 阻止表单的默认提交行为
  window.open("", "_blank"); // 打开一个新窗口
  this.target = "_blank"; // 设置表单的target属性为"_blank"
  this.submit(); // 提交表单
});

在这个示例中,我们首先通过addEventListener方法为表单的submit事件添加了一个监听器。然后,我们使用event.preventDefault()方法阻止了表单的默认提交行为。接下来,我们使用window.open("")方法打开了一个新的空白窗口。最后,我们将表单的target属性设置为"_blank",这样表单就会在新打开的窗口中提交。最后,我们通过调用this.submit()方法来提交表单。

使用这个解决方法,当用户提交表单时,表单会在一个新的窗口中打开,并且用户可以在该窗口中看到提交的结果。

0
0 Comments

如何使我的JavaScript表单在提交后在新窗口中打开?

问题原因:

问题的原因是尝试在JavaScript中执行一个操作,即在表单提交后在新窗口中打开页面。然而,由于浏览器的弹窗拦截器(Popup Blocker)的存在,这个操作可能会被拦截并阻止。

解决方法:

要解决这个问题,我们可以使用以下代码来尝试在新窗口中打开页面:

window.open(location);

这行代码使用了JavaScript的内置函数window.open(),它可以打开一个新窗口并加载指定的URL。在这里,我们使用location作为URL参数,它代表当前页面的URL。

然而,需要注意的是,这种方法可能会被浏览器的弹窗拦截器拦截。为了克服这个问题,我们可以在代码中添加一些额外的步骤,以确保弹窗不被拦截。

例如,我们可以在代码中添加一个按钮,并在按钮的点击事件中触发新窗口的打开操作。这样,用户点击按钮后,浏览器就会将弹窗视为用户触发的操作,而不是自动触发的操作。

document.getElementById("submitButton").addEventListener("click", function() {
  window.open(location);
});

在这个示例中,我们给提交按钮设置了一个id属性为"submitButton",然后使用JavaScript的addEventListener()函数来监听按钮的点击事件。当用户点击按钮时,会触发一个函数,其中包含我们之前提到的window.open(location)代码,以在新窗口中打开页面。

通过这种方式,我们可以尝试绕过浏览器的弹窗拦截器,并确保在表单提交后在新窗口中打开页面。但需要记住,浏览器的弹窗拦截器是为了保护用户免受不必要的弹窗干扰,因此在使用这种方法时应谨慎,并确保只在必要的情况下使用弹窗功能。

0