我在一个页面上有一个输入框,提交时会打开一个具有较长表单的新页面,并且第一个字段填充从前一页输入框输入的内容。所以在第 1 页上有这样的代码:
<form action="sign-up.php">
<input type="text" name="email" value="sign up for email" onFocus="clearText(this)" onBlur="clearText(this)" style="float: left;">
<input value='Submit' /> </form>
然后在注册页面上,接收表单从 URL 中获取字符串
//<!-- Begin
function getParams() {
var idx = document.URL.indexOf('?');
if (idx != -1) {
var tempParams = new Object();
var pairs = document.URL.substring(idx+1,document.URL.length).split('&');
for (var i=0; i<pairs.length; i++) {
nameVal = pairs[i].split('=');
tempParams[nameVal[0]] = nameVal[1];
}
return tempParams;
}
}
var params = getParams();
// End -->
我想保留所有这些功能,但它出现在弹出窗口中。我将此功能添加到提交中:
function myPopup() {
window.open( "sign-up.php", "myWindow",
"status = 1, height = 300, width = 300, resizable = 0" )
表格变成
<form>
<input type="text" name="email" value="sign up for email" onFocus="clearText(this)" onBlur="clearText(this)" style="float: left;">
<input onClick="myPopup()" value='Submit' /> </form>
但它不再将输入数据附加到 url 字符串中。有人对我如何实现这一目标有任何想法吗?
最佳答案
您在 window.open() 中指定不带参数的 URL。而不是 "sign-up.php"
,你为什么不使用 "signup-php?arg1=something&arg2=something-else"
等。你必须编写一些代码来从表单中获取参数值,但这很容易。
如果我正确理解你的问题,这似乎就是缺少的东西???
关于javascript - 提交打开弹窗并携带输入数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2648075/