使用 HTML 表单提供的变量打开 Link
Open a Link with a variable that was provided by a HTML Form
我想创建一个表单,当其提交时打开一个 link 带有一个变量,该变量是来自表单文本字段的输入。
这是一个例子:
<form onsubmit=<a href="http://www.link.xx?123&456&input=$UserInput target"_blank">
<p><input type="text" name="name" value="UserInput"/></p>
<p><input type="submit" value="Verbinden" /></p>
我不需要一个解决方案来让这个确切的例子工作。
我只想要:
用户在表单中输入内容并按下提交按钮。
按下提交按钮,浏览器打开 Link 我提供输入作为 Link.
的一部分
在现实生活中,这意味着我想使用 Teamspeak Join Link 以及用户在表单中提供的用户名。
这是Link,最后必须用用户名
修改
ts3server://serverip?port=11&password=123&nickname=!Input from the Form!
我希望有比我现在使用的方式更好的方式:
form.html =
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US" lang="en-US">
<head>
</head>
<body>
<center>
<table border="0" cellspacing="0" cellpadding="0" width="200" id="LayoutBereich5" style="background-attachment: fixed; border: 1px solid rgb(179,0,180); margin: 1px; height: 50px;" >
<tr align="center" valign="top">
<td>
<form action="startts3.php" method="post">
<p>Namen bitte anpassen:
<p><input type="text" name="name" value="InGameName|RealName"/></p>
<p><input type="submit" value="Verbinden" /></p>
</td>
</tr>
</table>
</center>
</body>
</html>
startts3.php =
<?php
$name = $_POST["name"];
header("Location: ts3server://serverip?port=11password=123&nickname=$name");
exit;
?>
你可以试试这个:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form>
<p><input type="text" name="name" value="UserInput"/></p>
<p><input type="submit" value="Verbinden" /></p>
</form>
<script>
$("form").submit(function(event) {
event.preventDefault();
window.location.href = "ts3server://serverip?port=11&password=123&nickname=" + $("input[name=name]").val();
});
</script>
它实际上并没有提交表单:JavaScript接管并自行打开。
EDIT 根据要求,我在 HTML 旁边包含了 JS 以展示如何使用它。
如果我没猜错,我会做类似的事情:
<form action="http://www.link.xx?123&456" method="GET" target"_blank">
<p><input type="text" name="name" value="UserInput"/></p>
<p><input type="submit" value="Verbinden" /></p>
</form>
您可以使用 GET 表单方法(如果您的端口和通行证位于 html 中)
您应该做的是将需要发送的参数放入隐藏输入并设置 action = 您的目标:ts3server://serverip
所以:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US" lang="en-US">
<head>
</head>
<body>
<center>
<table border="0" cellspacing="0" cellpadding="0" width="200" id="LayoutBereich5" style="background-attachment: fixed; border: 1px solid rgb(179,0,180); margin: 1px; height: 50px;" >
<tr align="center" valign="top">
<td>
<form action="ts3server://serverip" method="get">
<input type="hidden" name="port" value="11" />
<input type="hidden" name="password" value="123" />
<p>Namen bitte anpassen:
<p><input type="text" name="nickname" value="InGameName|RealName"/></p>
<p><input type="submit" value="Verbinden" /></p>
</form>
</td>
</tr>
</table>
</center>
</body>
</html>
我想创建一个表单,当其提交时打开一个 link 带有一个变量,该变量是来自表单文本字段的输入。
这是一个例子:
<form onsubmit=<a href="http://www.link.xx?123&456&input=$UserInput target"_blank">
<p><input type="text" name="name" value="UserInput"/></p>
<p><input type="submit" value="Verbinden" /></p>
我不需要一个解决方案来让这个确切的例子工作。 我只想要:
用户在表单中输入内容并按下提交按钮。 按下提交按钮,浏览器打开 Link 我提供输入作为 Link.
的一部分在现实生活中,这意味着我想使用 Teamspeak Join Link 以及用户在表单中提供的用户名。
这是Link,最后必须用用户名
修改ts3server://serverip?port=11&password=123&nickname=!Input from the Form!
我希望有比我现在使用的方式更好的方式:
form.html =
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US" lang="en-US">
<head>
</head>
<body>
<center>
<table border="0" cellspacing="0" cellpadding="0" width="200" id="LayoutBereich5" style="background-attachment: fixed; border: 1px solid rgb(179,0,180); margin: 1px; height: 50px;" >
<tr align="center" valign="top">
<td>
<form action="startts3.php" method="post">
<p>Namen bitte anpassen:
<p><input type="text" name="name" value="InGameName|RealName"/></p>
<p><input type="submit" value="Verbinden" /></p>
</td>
</tr>
</table>
</center>
</body>
</html>
startts3.php =
<?php
$name = $_POST["name"];
header("Location: ts3server://serverip?port=11password=123&nickname=$name");
exit;
?>
你可以试试这个:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form>
<p><input type="text" name="name" value="UserInput"/></p>
<p><input type="submit" value="Verbinden" /></p>
</form>
<script>
$("form").submit(function(event) {
event.preventDefault();
window.location.href = "ts3server://serverip?port=11&password=123&nickname=" + $("input[name=name]").val();
});
</script>
它实际上并没有提交表单:JavaScript接管并自行打开。
EDIT 根据要求,我在 HTML 旁边包含了 JS 以展示如何使用它。
如果我没猜错,我会做类似的事情:
<form action="http://www.link.xx?123&456" method="GET" target"_blank">
<p><input type="text" name="name" value="UserInput"/></p>
<p><input type="submit" value="Verbinden" /></p>
</form>
您可以使用 GET 表单方法(如果您的端口和通行证位于 html 中) 您应该做的是将需要发送的参数放入隐藏输入并设置 action = 您的目标:ts3server://serverip
所以:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US" lang="en-US">
<head>
</head>
<body>
<center>
<table border="0" cellspacing="0" cellpadding="0" width="200" id="LayoutBereich5" style="background-attachment: fixed; border: 1px solid rgb(179,0,180); margin: 1px; height: 50px;" >
<tr align="center" valign="top">
<td>
<form action="ts3server://serverip" method="get">
<input type="hidden" name="port" value="11" />
<input type="hidden" name="password" value="123" />
<p>Namen bitte anpassen:
<p><input type="text" name="nickname" value="InGameName|RealName"/></p>
<p><input type="submit" value="Verbinden" /></p>
</form>
</td>
</tr>
</table>
</center>
</body>
</html>