javascript xslt 将无法正确发布数据
我正在尝试使用 javascript 提交表单(从 xslt 样式表生成)。
<form name='myform' action='search.php' method='post'>
<input type='hidden' name='query' />
<script type='text/javascript'>
function submit(id)
{
document.myform.elements[0] = id; *Note* I have tried document.getElementById('query').value = id;
document.myform.submit();
}
</script>
</form>
在此代码之后,我有 xsl 翻译格式化 xml 数据。我这样调用提交函数: 注意此 href='' 不执行任何操作 提交('一些查询')
当我单击 href 时,javascript 函数会执行并且似乎工作正常,除了没有数据被发布。我将值设置为“somequery”,但是当表单被 POST 后,该值是“”(空白)。
为什么要这样做?我已经在 javascript 中尝试过 createElement('input') 等,但我无法获得表单来发布输入值。
I am trying to submit a form using javascript (generated from an xslt stylesheet).
<form name='myform' action='search.php' method='post'>
<input type='hidden' name='query' />
<script type='text/javascript'>
function submit(id)
{
document.myform.elements[0] = id; *Note* I have tried document.getElementById('query').value = id;
document.myform.submit();
}
</script>
</form>
After this code I have xsl translations formatting xml data. I call the submit function like this:
NOTE This href='' does nothing
submit('somequery')
When I click on the href the javascript function executes and seems to work fine, except NO data gets POST'ed. I set the value to 'somequery' but when the form gets POST'ed, the value is '' (blank).
Why does it do this? I have tried createElement('input') and such from within javascript but I cannot ever get the form to POST the input value.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
你在这里使用火狐浏览器吗?浏览器之间的行为可能有所不同。首先,您应该返回使用 getElementById
这可能不起作用的原因是您的隐藏元素实际上并未指定 id 属性。
在 IE 中,我相信它允许缺少 id 并假设它等于 name。在 Firefox 中,当您尝试执行 getElementById 时,缺少 id 会导致 JavaScript 错误
Are you using Firefox here? The behaviour may differ between browser. Firstly, you should go back to using getElementById
The reason this may not have worked is that your hidden element does not actually specify an id attribute.
In IE, I believe it allows a lack of id and assumes it is equal to the name. In Firefox, a lack of id results in a javascript error when you try to do getElementById