1

私はインターネットからどこかで取得するこのスクリプトを使用しています。

<html>
    <head>
        <title>Test</title>
        <script type="text/javascript">
        function sureTransfer(from, to, all) {
            if ( from.getElementsByTagName && to.appendChild ) {
                while ( getCount(from, !all) > 0 ) {
                    transfer(from, to, all);
                }
            }
        }

         function getCount(target, isSelected) {
            var options = target.getElementsByTagName("option");
            if ( !isSelected ) {
                return options.length;
            }
            var count = 0;
            for ( i = 0; i < options.length; i++ ) {
                if ( isSelected && options[i].selected ) {
                    count++;
                }
            }
            return count;
        }

        function transfer(from, to, all) {
            if ( from.getElementsByTagName && to.appendChild ) {
                var options = from.getElementsByTagName("option");
                for ( i = 0; i < options.length; i++ ) {
                    if ( all ) {
                        to.appendChild(options[i]);
                    } else {
                        if ( options[i].selected ) {
                            to.appendChild(options[i]);
                        }
                    }
                }
            }
        }

        window.onload = function() {
            document.getElementById("src2TargetAll").onclick = function() {
                sureTransfer(document.getElementById("source"), document.getElementById("target"), true);
            };
            document.getElementById("src2Target").onclick = function() {
                sureTransfer(document.getElementById("source"), document.getElementById("target"), false);
            };
            document.getElementById("target2SrcAll").onclick = function() {
                sureTransfer(document.getElementById("target"), document.getElementById("source"), true);
            };
            document.getElementById("target2Src").onclick = function() {
                sureTransfer(document.getElementById("target"), document.getElementById("source"), false);
            };
        }
        </script>
    </head>
    <body>
        <table>
            <tr>
                <td>
                    <form name="formcheck" method="post" action="target.php">
                        <select id="source" name="source" multiple>
                            <option value="1">one</option>
                            <option value="2">two</option>
                            <option value="3">three</option>
                            <option value="4">four</option>
                            <option value="5">five</option>
                            <option value="6">six</option>
                            <option value="7">seven</option>
                            <option value="8">eight</option>
                            <option value="9">nine</option>
                            <option value="10">ten</option>
                        </select>
                    </td>
                    <td>
                        <input type="button" id="src2TargetAll" name="src2TargetAll" value=">>"/><br/>
                        <input type="button" id="src2Target" name="src2Target" value=">"/><br/>
                        <input type="button" id="target2Src" name="target2Src" value="<"/><br/>
                        <input type="button" id="target2SrcAll" name="target2SrcAll" value="<<"/><br/>
                    </td>
                    <td>
                        <select id="target" name="target" multiple>
                        </select>
                    </td>
                </tr>
            </table>
        </form>
    </body>
</html>

左から右に選択された項目である2つの選択ボックスを作成するこのコードはすべてのコードが正常に機能しますが、phpファイルではこのphpコードで値を取得しようとして$targets = $_POST['target'];いますが、すべての値を取得しないため、plzは取得する正しい方法を教えてくださいphpでこれの値?

4

3 に答える 3

2

これを使って

<select id='source' name='source[]' multiple='multiple'>
于 2012-09-25T10:53:12.397 に答える
0

で終わる名前をselect要素に付け[]て、PHPがそれを配列として表示するようにし$_POST/GET/REQUESTます。

于 2012-09-25T10:41:04.520 に答える
0

これを使って

 <select id="source" name="source[]" multiple='multiple'>

サーバー側に配列を投稿します

于 2012-09-25T10:46:42.883 に答える