Javascript HTML操作将空格变为加号
一个新手问题: 我有一个简单的提交表单,问题是如果为输入提供了任何空间,那么该值将更改为加号(+) 这是我的表格:Javascript HTML操作将空格变为加号,javascript,html,Javascript,Html,一个新手问题: 我有一个简单的提交表单,问题是如果为输入提供了任何空间,那么该值将更改为加号(+) 这是我的表格: <form name="input" action="search" method="get"> Web Address: <input type="text" name="address"><br> Search Query: <input type="text" name="query"><br> <input
<form name="input" action="search" method="get">
Web Address: <input type="text" name="address"><br>
Search Query: <input type="text" name="query"><br>
<input type="submit" value="Search">
</form>
网址:
搜索查询:
我想举一个例子:
如果用户在第一个框中填写“此处地址”,在第二个框中填写“此处查询”。单击后我得到的地址是“搜索?地址=地址+此处&query=query+此处”
,而不是“搜索?地址=地址%20此处&query=query%20此处”
。如何使用%20
而不是+符号来更改这些“名称空间”
我不想要加号而不是
%20
的原因是我正在用Java语言编写搜索引擎,并使用sun的httpserver库作为web服务器。此库使用.getRequestURI().getQuery()
方法处理结果的“查询”部分(在?号之后),但是此方法将%20处理为空格,并将加号视为加号。如果这不是“可修复的”,那么我也可以接受包含javascript的解决方案。将空格符号编码为加号是由于表单使用的加号,因此我认为这是不可能的 它是urlencoded的,应该不重要……浏览器将再次解码该值。它不是urlencoded,而是形式urlencoded,这是微妙的不同(我知道的唯一区别是+
而不是%20
)。浏览器不会解码该值。不过,任何表单处理库都应该这样做。我在Java中使用这些信息,不幸的是,这对我来说很重要,因为这不是一个浏览器问题。@SarpKaya-您如何在Java中使用它?您使用什么函数读取查询字符串?@Quentin我现在写了详细的原因这是真的,但它没有回答问题,应该是一个注释。@Quentin:Oops。。。我认为我的答案是显而易见的。不过,我已对其进行了相应的编辑。谢谢。这是可能的(您只需在JS中重新构建整个表单提交逻辑,然后才能修改它)。