替换使用GET(PHP)的表单中的字符串
我想知道如何在PHP中修改使用GET函数发送的字符串 这是我的密码:替换使用GET(PHP)的表单中的字符串,php,Php,我想知道如何在PHP中修改使用GET函数发送的字符串 这是我的密码: <form action= "lookup.php" method = "get"> <div class="input-group"> <!--Enter Name with # afterwards--> <input type ="text" class="form-control" name="name"/> <span class=
<form action= "lookup.php" method = "get">
<div class="input-group">
<!--Enter Name with # afterwards-->
<input type ="text" class="form-control" name="name"/>
<span class="input-group-btn">
<select name="region" class="form-control" style="width: 80px">
<option value = "us">United States</option>
<option value = "eu">Europe</option>
<option value = "cn">China</option>
<option value = "kr">Korea</option>
</select>
</span>
<span class="input-group-btn">
<button type="submit" class="btn btn-royal"></button>
</span>
</div>
</form>
美国
欧洲
中国
韩国
基本上,用户会键入他们的姓名和数字,例如John#1,从而使URL:
lookup.php?name=John%231®ion=us
但是我想把#符号变成一个破折号,所以URL变成:
lookup.php?name=John-1®ion=us
我该怎么做?有可能吗?谢谢 用户输入输入时,可以替换#值。只需添加一个
oninput
回调函数,并将#替换为-。下面给出了一个使用JQuery的示例
<input type ="text" oninput="replaceHash()" class="form-control" name="name" id="name"/>
<script>
function replaceHash(){
var name=$('#name').val();
name=name.replace("#","-");
$('#name').val(name);
}
</script>
函数replaceHash(){
var name=$('#name').val();
名称=名称。替换(“#”)、“-”;
$('#name').val(name);
}
(我使用了JQuery而不是纯JavaScript。使用纯JavaScript也可以很容易地做到这一点)上面的答案很好,但我认为最好替换提交时的#字符(
onsubmit
callback),因为这样对用户来说比较容易混淆。(我就是这么做的)您可以在收到请求后用PHP替换
或者,在发送请求之前——通过JavaScript
假设您的表单将具有name属性:“myform”<代码>(您可以更改任何适合您的选择器)。然后收听onsubmit
事件
document.myform.onsubmit = function() {
var name = document.querySelector('input[name="name"]');
var replace = name.value.replace('#', '-');
name.value = replace;
}
或者使用jQuery
$('form[name="myform"]').on('submit', function(){
var name = $('input[name="name"]').val();
var replace = name.replace('#', '-');
$('input[name="name"]').val(replace);
});
请使用以下代码段:
<!DOCTYPE html>
<html>
<head>
<title>frmexample</title>
<script src="https://code.jquery.com/jquery-1.10.2.js"></script>
<script type="text/javascript">
function Redirect() {
var frm_name=$("#frm_name").val();
frm_name=frm_name.replace("#","-");
var region=$("#region").val();
var url="lookup.php?name="+frm_name+"®ion="+region;
window.location=url;
}
</script>
</head>
<body>
<form id="sub_frm" method = "get">
<div class="input-group">
<!--Enter Name with # afterwards-->
<input type ="text" class="form-control" id="frm_name" name="name"/>
<span class="input-group-btn">
<select name="region" id="region" class="form-control" style="width: 80px">
<option value = "us">United States</option>
<option value = "eu">Europe</option>
<option value = "cn">China</option>
<option value = "kr">Korea</option>
</select>
</span>
<span class="input-group-btn">
<button type="button" class="btn btn-royal" onclick="Redirect();">submit</button>
</span>
</div>
</form>
</body>
</html>
frmexample
函数重定向(){
var frm_name=$(“#frm_name”).val();
frm#U名称=frm#U名称。替换(“#”)、“-”;
var region=$(“#region”).val();
var url=“lookup.php?name=“+frm_name+”®ion=“+region;
window.location=url;
}
美国
欧洲
中国
韩国
提交
希望这能解决你的问题。谢谢。您可以使用javascript在表单的“提交”事件上“添加事件侦听器”,以“替换”元素“name”值中的“-”。
<!DOCTYPE html>
<html>
<head>
<title>frmexample</title>
<script src="https://code.jquery.com/jquery-1.10.2.js"></script>
<script type="text/javascript">
function Redirect() {
var frm_name=$("#frm_name").val();
frm_name=frm_name.replace("#","-");
var region=$("#region").val();
var url="lookup.php?name="+frm_name+"®ion="+region;
window.location=url;
}
</script>
</head>
<body>
<form id="sub_frm" method = "get">
<div class="input-group">
<!--Enter Name with # afterwards-->
<input type ="text" class="form-control" id="frm_name" name="name"/>
<span class="input-group-btn">
<select name="region" id="region" class="form-control" style="width: 80px">
<option value = "us">United States</option>
<option value = "eu">Europe</option>
<option value = "cn">China</option>
<option value = "kr">Korea</option>
</select>
</span>
<span class="input-group-btn">
<button type="button" class="btn btn-royal" onclick="Redirect();">submit</button>
</span>
</div>
</form>
</body>
</html>