我在一个页面上有一个输入框,提交时会打开一个具有更长表单的新页面,第一个字段将填充从前一页输入框中输入的内容。所以在第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>
然后在注册页面上,接收表单从网址中抓取字符串
//<!-- 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字符串。任何人对如何实现这一点都有任何想法?
答案 0 :(得分:0)
您在window.open()中指定了没有参数的URL。而不是"sign-up.php"
,为什么你没有"signup-php?arg1=something&arg2=something-else"
等等。你必须编写一些代码来从表单中获取参数值,但这很容易。
如果我理解你的问题,这似乎是缺少什么???