1
<body>
    <form name="testarea" method="post" action="?URL">
        <input type="text" id="test1" name="URL"/>
        <input type="submit" value="Submit"/>
    </form>
</body>

现在我想:

  1. 使用用户在 URL 文本框中输入的值
  2. action=''用于在点击时传递给表单Submit。这需要在提交时传递相同的 URL 将在同一个 iFrame 中启动 URL。
4

3 回答 3

1

您可以使用 jQuery 来设置表单的 action 属性,如下所示:

var url = $("#test1").val();
$(form).attr("action", url)

如果您无法使用 jquery,可以参考以下帖子:

http://netfactory.dk/2007/09/28/changeing-a-form-submit-url-with-javascript/

于 2012-11-29T12:02:07.183 回答
0

您可以使用方法 Get 而不是 Post

<body>
<form name ="testarea" Method="Get" Action="youpage.html">
<input type='text' id='test1' name='URL'/>
<input type='submit' value='Submit'/>
</form>

更新:

我不知道这是正确的,但你也可以这样尝试

<input type='text' id='test1' name=''/>
<input type='button' value='Submit' onclick="window.location.href=window.location+'?'+document.getElementById('test1').value;"/>
于 2012-11-29T12:09:27.483 回答
0

在您的表单放置以下代码段:

function addListener(element, eventName, handler) {
    if (element.addEventListener) {
        element.addEventListener(eventName, handler, false);
    }
    else if (element.attachEvent) {
        element.attachEvent('on' + eventName, handler);
    }
    else {
        element['on' + eventName] = handler;
    }
}

var form = document.forms['testarea'];
var input = document.getElementById('test1');

addListener(form, 'submit', function () {
   var url = input.value;
   form.setAttribute('action', url);
});

我没有测试过它,但它应该可以工作。我建议您使用 jquery 之类的库,而不是编写纯 javascript。您将使生活更轻松,并且跨浏览器问题更少。

在 jQuery 中,您的代码将如下所示:

​$('form[name="testarea"]').on('submit', function () {
    var url = $('#test1').val();
    $(this).attr('action', url);    
});​​​​​​​​​​​​​​​​​​​​​​
于 2012-11-29T12:29:53.433 回答