我有表单,文本输入和提交按钮。如何将文本框的值附加到表单操作,即
action =“https://www.mywebsite.com/”& txtSessionId
表格如下:
<form name="form1" method="post" action="https://www.mywebsite.com/">
<label>Your Sessions ID:
<input type="text" name="txtSessionId" id="txtSessionId">
</label>
<label>
<input type="submit" name="btnContinue" id="btnContinue" value="Continue">
</label>
</form>
我希望链接看起来像这样:https://www.mywebsite.com/123456
用户在文本框中输入123456。
谢谢
答案 0 :(得分:2)
您必须使用javascript或服务器端来执行此操作(或两者)。
<强>使用Javascript:强>
<form name="form1" method="post" action="https://www.mywebsite.com/"
onsubmit="location.href = this.action + this.txtSessionId.value; return false;">
服务器端(PHP)
if (!empty($_POST['txtSessionId']))
{
header('Location: https://.....' . (int)$_POST['txtSessionId']);
exit();
}
答案 1 :(得分:1)
正确的行为是将输入字段发送到现有表单,处理它并重定向。你不知道用户是否发送了有效的输入值!
在这种情况下,我总是建议使用javascript,除非对您有严格的要求。
答案 2 :(得分:0)
如果你接受这样的网址,我假设你在服务器上使用mod-rewrite。那么,为什么不在那里写一条规则来检查是否设置了txtSessionId
,然后将其重新写入你想要的任何内容?
我不知道怎么写好mod-rewrite规则,但是,我绝对知道你可以做到。
如果您正在使用PHP,Greg确实提供了一种相当可行的替代方法来使用mod-rewrite(或类似的东西)。