<body>
<form name="testarea" method="post" action="?URL">
<input type="text" id="test1" name="URL"/>
<input type="submit" value="Submit"/>
</form>
</body>
现在我想:
action=''
传递给Submit
表单。传递提交时需要相同的URL将在同一个iFrame中启动URL。答案 0 :(得分:1)
您可以使用jQuery设置表单的action属性,如下所示:
var url = $("#test1").val();
$(form).attr("action", url)
如果您无法使用jquery,可以参考以下帖子:
http://netfactory.dk/2007/09/28/changing-a-form-submit-url-with-javascript/
答案 1 :(得分: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;"/>
答案 2 :(得分: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);
});