为html表单添加额外的文本GET方法

时间:2014-10-21 01:15:04

标签: javascript php jquery html forms

对表单使用'get'方法时,

<form action="domain.com" method="get">
    Surname: <input type="text" name="ABC"><br>
    Name: <input type="text" name="DFG"><br>
    <input type="submit" value="Submit">
</form>

输入将被发送到名为

的服务器上的页面

domain.com/?ABC=的&安培; DFG = 名称

我的问题:如何编辑表单以使输入被发送到名为

的页面

domain.com/?ABC=的 “姓”&安培; DFG = “名称”

(注意两个输入周围的“”。

请指教。谢谢!

2 个答案:

答案 0 :(得分:1)

为什么你需要引用这些?

GET形式的网站应该能够理解您在没有引号的情况下发送给它的表单输入。如果您确实需要添加引号(或表单输入的任何其他内容),您可以使用jQuery来完成。

这样的东西
$("form").submit(function(event) {
   $.get('domain.com', { name: ..., surname: ...});
   event.preventDefault();
});

请参阅:

http://api.jquery.com/submit/

http://api.jquery.com/jquery.get/

编辑:更多信息:

我没有足够的声誉来发表评论,所以我会扩展其他评论者所做的事情。他几乎是正确的,除了代替“%22”你需要添加引号字符(“),它会为你编码。它添加%25的原因是它实际编码百分比(%)字符!: d

修改了Beau Bouchard的回答:

function (){
      var abc = document.getElementById("ABC").value; 
      document.getElementById("ABC").value = "\"" + abc + "\"";
      var dfg = document.getElementById("DFG").value; 
      document.getElementById("DFG").value = "\"" + dfg + "\""; //changes input field value
      document.getElementById("formid").submit(); //submits the form
}

答案 1 :(得分:0)

我相信您正在寻找引号字符(U + 0022),在纯文本中不允许它必须编码为%22。

我做了一些javascript,将doublequotation mark字符添加到用户的输入中,然后它应该像以前一样提交表单操作。

<script type="text/javascript">
    beforeSubmit = function(){
          var abc = document.getElementById("ABC").value; 
          document.getElementById("ABC").value = "%22" + abc + "%22";
          var dfg = document.getElementById("DFG").value; 
          document.getElementById("DFG").value = "%22" + dfg + "%22"; //changes input field value
          document.getElementById("formid").submit(); //submits the form
    }
</script>
<form action="domain.com" method="get" id="formid">
    Surname: <input type="text" name="ABC" id="ABC"><br>
    Name: <input type="text" name="DFG" id="DFG"><br>
    <input type="button" value="Click" onclick="beforeSubmit();" />
</form>