1

編集:おっと。皆さんありがとう!

次のコードがあります。

<?php
    echo"
    <script type=\"text/javascript\">

    function validation() {

    var ok = 0;
    ";

    for ($i=1; $i<=10; $i++)
      {
        echo"   for (i=document.frmSurvey.q".$i.".length-1; i > -1; i--) {
                if (document.frmSurvey.q".$i."[i].checked) {
                    v = i; i = -1;
                }
            }
            if (i == -1) {
                ok = 1;
                document.getElementById(\"rq".$i."\").style.backgroundColor = '#901F39';
                document.getElementById(\"rq".$i."\").style.color = '#FFF';
                document.getElementById('mandall').style.backgroundColor = '#901F39';
                document.getElementById('mandall').style.color = '#FFF';
                return false;
            }";
        }


    echo "if (ok == 0) document.frmSurvey.submit();
    }
    </script>";
?>

このコードは<head>、私のページのセクション内にあります。ただし、テキストをページにエコーするだけで、実際にJavascript.

オプションを使用する必要があると考えてい<header>ますが、完全に迷っています。

どんなアドバイスでも大歓迎です!

ありがとう、

H.

4

5 に答える 5

4

PHPを忘れてください:

<script type="javascript">

    function validation() {
        var ok = 0;

        for (var i=1 i<=10; i++){
            for (var j=document.frmSurvey['q'+i].length-1; j > -1; j--) {
                if (document.frmSurvey['q'+j][i].checked) {
                    v = j; j = -1;
                }
            }
            if (j == -1) {
                ok = 1;
                document.getElementById('rq'+i).style.backgroundColor = '#901F39';
                document.getElementById('rq'+i).style.color = '#FFF';
                document.getElementById('mandall').style.backgroundColor = '#901F39';
                document.getElementById('mandall').style.color = '#FFF';
                return false;
            }
        }

        if (ok === 0) {
            document.frmSurvey.submit();
        }
    }
</script>
于 2012-11-29T22:54:37.767 に答える
0

ただのロングショットですが、これはあなたが望んでいる/必要だと私が思うものです。

<script type="javascript">
    function validation() {
        var err=0,
            ok,i,j;

        //loop through groups of radio buttons
        for (i=1 i<=10; i++){
            //reset ok for this loop
            ok=0;

            //loop through radio buttons in this group
            for (j=document.frmSurvey['q'+i].length-1; j >= 0; j--) {
                //if the button is checked...
                if (document.frmSurvey['q'+j][i].checked) {
                    //set ok to 1
                    ok=1;

                    //break out of loop because we know one is checked, no need to continue on to rest
                    break;
                }
            }

            //if there were no buttons checked
            if (o==0) {
                //color row background and text
                document.getElementById('rq'+i).style.backgroundColor = '#901F39';
                document.getElementById('rq'+i).style.color = '#FFF';
                //color something else background and text
                document.getElementById('mandall').style.backgroundColor = '#901F39';
                document.getElementById('mandall').style.color = '#FFF';

                //increment our error counter
                err++;
            }
        }

        //if there were no errors
        if(err==0){
            //submit the form
            document.frmSurvey.submit();
        } else {
            //tell them how many errors there were
            alert("There were "+err+" errors. Please fix them and try again.");
        }
    }
</script>

ラジオグループをループし、各ラジオボタンは、少なくとも1つのチェック値がないラジオグループを探します。グループにチェックされた値がない場合、背景とテキストの色が変更され、エラーカウンターが増加します。エラーがない場合はフォームが送信され、エラーがない場合はエラーの数を示すアラートが表示されます。

于 2012-11-29T23:31:05.207 に答える
0

<script>PHPタグ内で使用せずに、タグ内にJSコードを入れてみませんか。サーバー側または PHP コードからの変数に対してのみ、PHP タグを使用できます。

于 2012-11-29T22:50:38.243 に答える
0

<script>3 行目でタグを閉じています。

<?php
    echo"
    <script type=\"text/javascript\"></script>

ここを削除する</script>と、動作するはずです。

于 2012-11-29T22:53:25.550 に答える
0

交換

<script type=\"text/javascript\"></script>

<script type=\"text/javascript\">
于 2012-11-29T22:54:06.033 に答える