html附加文本值以形成动作

时间:2009-04-24 15:32:49

标签: html webforms

我有表单,文本输入和提交按钮。如何将文本框的值附加到表单操作,即

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。

谢谢

3 个答案:

答案 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(或类似的东西)。