4

フォームに次の問題があります。

フォームは次のようになります。

<form name='add'
      method='post'
      action='<?php echo htmlentities($_SERVER["PHP_SELF"]) ?><?php echo "?naujiena=".$_GET['pavadinimas']."" ?>' >

    <input name='id' type='hidden'>
    <input name='skaicius' type='hidden'>
    <input name='pavadinimas' type='text'>
    <input type='submit' name='prideti' value='prideti'>
</form>

フォームの確認後、次のようなURLに結果が表示されます。

http://viper.us.lt/php/naujiena/forma.php?naujiena=

次のようになります。

http://viper.us.lt/php/naujiena/forma.php?naujiena=some_value
4

2 に答える 2

3

次のように、フォーム メソッドを POST から GET に変更します。

<form name='add' method='GET' action='<?php echo htmlentities($_SERVER["PHP_SELF"]) ?><?php echo "?naujiena=".$_GET['pavadinimas']."" ?>' >
于 2013-03-08T18:54:23.130 に答える
3

あなたのアプローチは間違っています。<?php echo "?naujiena=".$_GET['pavadinimas']."" ?>のは必要ありませんaction attribute

methodからPOSTに変更するだけGETで、submit(タイプ)buttonをクリックすると、 に値が表示され、URLとして値を取得できるようになります$_GET


編集

次に、次のようなフォームが必要です

<form name="add" method="post" id="myForm" action="garissuero.html" onsubmit="changeActionURL()">
        <input name="id" type="hidden" />
        <input name="skaicius" type="hidden" />
        <input name="pavadinimas" id="pavadinimas" type="text" />
        <input type="submit" name="prideti" value="prideti" />
</form>

そして、次のjavascriptようなコードがあります:

function changeActionURL() {
    var forma = document.getElementById('myForm');
    forma.action += "?naujiena=" + document.getElementById('pavadinimas').value;
}

JSFiddle: http://jsfiddle.net/mETwZ/2/

于 2013-03-08T18:57:59.927 に答える