1

フォームを作成したいのですが、その送信時に、フォームのテキストフィールドからの入力である変数とのリンクが開きます。

次に例を示します。

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

この正確な例を機能させるためにソリューションは必要ありません。私が欲しいのは:

ユーザーはフォームに何かを入力し、送信ボタンを押します。送信ボタンを押すと、ブラウザがリンクを開き、リンクの一部として入力を提供します。

実際には、ユーザーがフォームで提供したユーザー名で Teamspeak Join 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;
?>
4

3 に答える 3

1

これを試すことができます:

<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 が引き継ぎ、それ自体で開きます。

編集リクエストに応じて、JS を HTML と一緒に含めて、その使用方法を示しました。

于 2016-06-30T23:29:49.917 に答える
0

これにGETフォームメソッドを使用できます(ポートとパスがhtmlに配置されても問題ない場合)あなたがすべきことは、隠し入力で送信する必要があるパラメーターを配置し、アクションをターゲットに設定することです: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>
于 2016-06-30T23:41:51.273 に答える
0

私があなたを正しければ、私は次のようなことをします:

<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>
于 2016-06-30T23:39:17.533 に答える