我有一些带有document.write的旧代码。
<script type="text/javascript" language="JavaScript1.2">
document.write('<form name="InvGenPayDonation" action="'+PostURL+'" onsubmit="return validateForm();" method="POST">');
</script>
如何使用在加载页面时确定的javascript变量替换操作?这是代码,它不是函数的一部分。 (我已经替换了名字,所以substr索引不正确,但我相信你明白了。)
// Check where we came from so that we can go to the right spot when the
// form gets posted from outside of our HTML tree.
var PostURL = '/event.php';
if (window.location.href.substr(0, 21) == 'http://10.10.10.10:80')
PostURL = 'http://10.10.10.10:8580/event.php';
else if (window.location.href.substr(0, 14) == 'http://webapps')
PostURL = 'http://10.100.0.11:8580/event.php';
else if (window.location.href.substr(0, 7) == 'webapps')
PostURL = 'http://10.10.10.10:8580/event.php';
else if (window.location.href.substr(0, 10) == 'http://www')
PostURL = 'https://secure.french.toast.new_zeland.france/event.php';
我希望PostURL能够进入表单的行动。如果我可以在没有document.write的情况下做到这一点,那就太好了。我只是需要一些帮助。感谢。
答案 0 :(得分:1)
其他一些DOM0代码应该可以解决这个问题:
// Your code from the question here
document.forms[0].action = PostURL;
请注意,这假定您的表单是页面上的第一个表单 - 如果不是,请将[0]
替换为表单的从零开始的索引。
但是,您可以(并且可能应该)使用不依赖于页面布局的更现代的解决方案。最简单的是document.getElementById
- 只需在表单中添加ID属性(确保ID的值在整个页面中是唯一的),然后执行以下操作:
document.getElementById("yourFormID").action = PostURL;
答案 1 :(得分:1)
好吧,你可以用html创建你的表单,给它和id,然后像这样做:
document.getElementById('myform').setAttribute('action', post_url);
答案 2 :(得分:0)
我会用jquery来做。如果您还不知道,还需要包含jquery文件。
$(document).ready(function() {
var PostURL = '/event.php';
if (window.location.href.substr(0, 21) == 'http://10.10.10.10:80')
PostURL = 'http://10.10.10.10:8580/event.php';
else if (window.location.href.substr(0, 14) == 'http://webapps')
PostURL = 'http://10.100.0.11:8580/event.php';
else if (window.location.href.substr(0, 7) == 'webapps')
PostURL = 'http://10.10.10.10:8580/event.php';
else if (window.location.href.substr(0, 10) == 'http://www')
PostURL = 'https://secure.french.toast.new_zeland.france/event.php';
$("#search-form").attr("action", PostURL);
});
<form action='' id="search-form">
</form>
答案 3 :(得分:0)
您可以将jQuery用于您的目的。此代码将设置表单的操作而不使用document.write:
$("form[name=InvGenPayDonation]").attr("action", PostURL);