3

私は初心者プログラマーで、JavaScript を使用してフォームを適切に送信する方法を知りたいです。

私が何を意味するかを示すために、いくつかのテストコードを作成しました。

<?php
    if (isset($_POST['message']))
    {
        echo $_POST['message'];
    }
?>

<script>
    function formsubmit() 
    {
        document.getElementById('form').submit();           
    }
</script>

<form id="form" name="form" action="" method="post">
    <input id="message" name="message" value="hello world">
    <input id="submit" name="submit" type="submit">
</form>

<a href="" onClick="formsubmit()">Click me</a><br/>
<input type="submit" onClick="formsubmit()" value="Click me">

タグ内の「送信」ボタンを押すと、php コードは「hello world」をエコーし​​ます。JS でフォ​​ームを送信すると、値はページに投稿されません。私は何を間違っていますか?

前もって感謝します。午後中ずっと解決策を探しましたが、プログラミングに関する知識が不足しているため、見つけることができませんでした。

4

3 に答える 3

6

信じられないかもしれませんが、主な問題はここにあります。

<input id="submit" name="submit" type="submit">

フォームに名前(またはID)の入力要素が含まれている場合、メソッドではなくボタンを指すため、フォーム要素submitのメソッドがマスクされます。これに変更するだけです:.submit().submit

<input name="go" type="submit">

参照:メモform.submit()

小さな問題はここにあります:

<a href="" onClick="formsubmit()">Click me</a><br/>

空のアンカーは、を呼び出す前に同じページを再度要求しますformsubmit()。を追加するだけhref="#"です。

于 2012-11-29T23:40:44.907 に答える
1

ここでの問題は、フォームの入力要素のIDと名前が送信と呼ばれることです。

これにより、フォームの送信機能がマスクされます。名前とIDを変更すると、javascriptを使用してフォームを送信できるようになります。

于 2012-11-29T23:46:18.880 に答える
0

のhrefを「#」に設定してみてください。リンクをクリックすると、フォームが送信され、フォームの送信をキャンセルしたときと同じページにURLが変更されてから、移動する可能性があります。

于 2012-11-29T23:39:49.913 に答える