0

我有一些带有 document.write 的旧代码。

<script type="text/javascript" language="JavaScript1.2">
document.write('<form name="InvGenPayDonation" action="'+PostURL+'" onsubmit="return validateForm();" method="POST">');
</script>

如何用加载页面时确定的 javascript 变量替换 action?这是该代码,它不是函数的一部分。(我已经替换了名称,所以 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 的情况下做到这一点,那就太好了。我只是需要一些帮助。谢谢。

4

4 回答 4

1

其他一些 DOM0 代码应该可以解决问题:

// Your code from the question here
document.forms[0].action = PostURL;

请注意,这假定您的表单是页面上的第一个表单 - 如果不是,则替换[0]为表单的从零开始的索引。

但是,您可以(并且可能应该)使用不依赖于页面布局的更现代的解决方案。最简单的是document.getElementById- 只需在表单中添加一个 ID 属性(确保 ID 的值在整个页面中是唯一的),然后执行以下操作:

document.getElementById("yourFormID").action = PostURL;
于 2012-09-12T21:42:05.407 回答
1

好吧,你可以在 html 中创建你的表单,给它和 id,然后这样做:

document.getElementById('myform').setAttribute('action', post_url);
于 2012-09-12T21:42:50.117 回答
0

您可以将 jQuery 用于您的目的。此代码将在没有 document.write 的情况下设置表单的操作:

$("form[name=InvGenPayDonation]").attr("action", PostURL);
于 2012-09-12T21:44:18.697 回答
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>
于 2012-09-12T21:42:24.963 回答