0

どうすればこれを可能にできますか?

GET フォーム内の POST フォーム

最初に 3 つのテキスト ボックスにデータを入力し、GET 送信ボタンを押します。次に、POST 送信ボタンを押すと、GET のように動作し、if ステートメントの内容からデータが表示されません。

if(isset($_POST['post'])){ echo $_POST['data1']."<br/>".$_POST['data2']."<br/>".$_POST['data3']; }

これについて私を助けてください..私は本当にこれが必要です

<!doctype html>

<html lang="en">
<head>
    <meta charset="utf-8">
</head>
<body>
<?php
if(isset($_POST['post'])){
    echo $_POST['data1']."<br/>".$_POST['data2']."<br/>".$_POST['data3'];
}
?>
<form action="" method="get">
    <form action="" method="post">
        <input type="text" name="data1" value="<?php if(isset($_GET['data1'])) echo $_GET['data1']; ?>"/>
        <input type="text" name="data2" value="<?php if(isset($_GET['data2'])) echo $_GET['data2']; ?>"/>
        <input type="text" name="data3" value="<?php if(isset($_GET['data3'])) echo $_GET['data3']; ?>"/>
        <input type="submit" name="get" value="GET"/>
        <input type="submit" name="post" value="POST"/>
    </form>
</form>
</body>
</html>

よろしくお願いします!

4

4 に答える 4

2

さて、ここに概念実証があります:

<form>
    <input name="t" />
    <input type="submit" value="with GET" />
    <input type="submit" value="with POST"
           onclick="this.parentNode.method='POST';"/>
</form>

もちろん、JS を HTML から移動する方がはるかに優れていますが、前述したように、原則としてそれがどのように行われるかを示すだけです。

form@cdhowie が正しく気付いたように、別の要素内に要素を含めることはできませんform。ブラウザーがこの構造をどのように解釈するかはブラウザー次第ですが (おそらく内部formは無効な要素として無視されるでしょう)、入力を同時に 2 つのフォームに属するようにすることは絶対にできません。

于 2012-10-03T16:27:44.183 に答える
1

HTML 仕様によると、要素は子孫として<form>他の要素を持つことはできません。<form>(この関連する質問を参照してください。)

したがって、ここにあるのは無効な HTML です。ブラウザは、ページのレンダリングをまったく拒否するなど、この状況で妥当と思われることを何でも実行できます。ブラウザ間の動作は一貫していない場合があります。

于 2012-10-03T16:21:59.467 に答える
1

別のフォーム内にフォームを含めることはできません。Facebook のようなボタンは良い例です。フォーム内に配置することはできません。そうしないと、何かが壊れる可能性があります。

于 2012-10-03T16:36:25.377 に答える
0

これは通常の手順ではありません。これは不可能です。GET と POST の両方の効果が必要だと思います。たぶん、いくつかの厄介なトリックでそれを行うことができ、それらを Javascript で URL の最後に追加します。

于 2012-10-03T16:23:50.963 に答える