提交以打开弹出窗口并传输输入数据

时间:2010-04-15 18:44:48

标签: javascript forms

我在一个页面上有一个输入框,提交时会打开一个具有更长表单的新页面,第一个字段将填充从前一页输入框中输入的内容。所以在第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字符串。任何人对如何实现这一点都有任何想法?

1 个答案:

答案 0 :(得分:0)

您在window.open()中指定了没有参数的URL。而不是"sign-up.php",为什么你没有"signup-php?arg1=something&arg2=something-else"等等。你必须编写一些代码来从表单中获取参数值,但这很容易。

如果我理解你的问题,这似乎是缺少什么???