Javascript 为html表单GET方法添加附加文本

Javascript 为html表单GET方法添加附加文本,javascript,php,jquery,html,forms,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> 姓氏: 名称: 输

对表单使用“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=“姓名”

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


请提供建议。谢谢!

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

我使用javascript将双引号字符添加到用户的输入中,然后它应该像以前一样提交表单操作

<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>

beforeSubmit=函数(){
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”;//更改输入字段值
document.getElementById(“formid”).submit();//提交表单
}
姓氏:
名称:

为什么需要在引号中引用这些内容

表单
GET
中的网站应该能够理解您发送给它的表单输入,而不带引号。如果您确实需要在表单输入中添加引号(或任何其他内容),可以使用jQuery

差不多

$("form").submit(function(event) {
   $.get('domain.com', { name: ..., surname: ...});
   event.preventDefault();
});
见:

编辑:更多信息:

我没有足够的声誉来评论,所以我将扩展其他评论者在这里所做的。他几乎是对的,除了你需要添加引号字符(“)而不是“%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
}

如果你能详细说明我是如何做到这一点的,我将不胜感激。对不起,我在这方面是新手。谢谢。我需要这些引号,因为我正试图链接到一个页面,从mysql数据库中提取数据,这取决于URL中变量的值,如果变量不在引号中,它就不起作用。看看这个更改是否有用,只要e编辑我的评论谢谢!刚刚尝试过,输出是domain.com?ABC=%2522SurnName%2522&DFG=%2522name%2522似乎有一个额外的“25”…嗯:没问题,您应该关闭此问题