Avatar billede gummisko Nybegynder
17. september 2005 - 12:50 Der er 6 kommentarer og
1 løsning

Tilretning af kode i script

Hej guruer!!
Fra en webside sendes følgende:

function SendQuiz()  {
    var sHTML = "";
    sHTML += '<FORM id="formQuiz" method="POST" action="mail/index.php" target="_blank">';
    sHTML += '<INPUT TYPE="hidden" NAME="QuizResults" VALUE=\'' + g_strQuizResults + '\'>';
    sHTML += '<INPUT TYPE="hidden" NAME="subject" VALUE=\'' + g_strSubject + '\'>';
    sHTML += '<br><input type="submit"><br>';
    sHTML += '</FORM>';

    document.getElementById("divQuiz").innerHTML = sHTML;
    document.getElementById("divQuiz").document.getElementById("formQuiz").submit();

På index.php modtages værdierne og det virker fint. Men for at kunne liste alle oplysninger sendt til index.php skal der tilrettes i følgende kode, som er beregnet til at udskrive et nyt vindue med alle oplysninger:


<SCRIPT>
var g_arrMonths = new Array()

// Enter the month names below
g_arrMonths[0] = "January"
g_arrMonths[1] = "February"
g_arrMonths[2] = "March"
g_arrMonths[3] = "April"
g_arrMonths[4] = "May"
g_arrMonths[5] = "June"
g_arrMonths[6] = "July"
g_arrMonths[7] = "August"
g_arrMonths[8] = "September"
g_arrMonths[9] = "October"
g_arrMonths[10] = "November"
g_arrMonths[11] = "December"

// Enter the column headers
var g_strDateTime = "Date / Time"
var g_strStudentScore = "Student Score"
var g_strPassingScore = "Passing Score"
var g_strResult1 = "Result"
var g_strQuestion = "Question"
var g_strCorrectAns = "Correct Answer"
var g_strResult2 = "Result"
var g_strStudentAns = "Student Answer"
var g_strPointsAwarded = "Points Awarded"
var g_strNeutral = "Neutral"
var g_strCorrect = "Correct"
var g_strIncorrect = "Incorrect"

var g_arrResults = window.opener.g_arrResults
var g_oQuizResults = window.opener.g_oQuizResults;

function AddItem(nIdx)
{
    var strResult = g_strIncorrect;
    var strClass = "INCORRECT";
    document.write("<TR>");
    document.write("<TD class='NUMBER'>" + g_arrResults[nIdx].nQuestionNum + "</TD>");
    document.write("<TD class='QUESTION'>" + g_arrResults[nIdx].strQuestion + "</TD>");
    document.write("<TD>" + g_arrResults[nIdx].strCorrectResponse + "</TD>");
    document.write("<TD>" + g_arrResults[nIdx].strStudentResponse + "</TD>");
    if (g_arrResults[nIdx].strResult == "correct")
    {
        strResult = g_strCorrect;
        strClass = "CORRECT"
    }
    else if (g_arrResults[nIdx].strResult == "neutral")
    {
        strResult = g_strNeutral
        strClass = "NEUTRAL"
    }

    document.write("<TD class='" + strClass + "'>" + strResult + "</TD>");
    document.write("<TD>" + g_arrResults[nIdx].nPoints + "</TD>");
    document.write("</TR>");
}

function FormatDate(dtmDate)
{
    var strResult = "";
    var nHours = dtmDate.getHours();
    var strAM = "am";
    var nMinutes = dtmDate.getMinutes();
    var strMinutes = "" + nMinutes;

    if (nMinutes < 10)
    {
        strMinutes = "0" + nMinutes;
    }

    if (nHours == 12)
    {
        strAM = "pm";
    }

    if (nHours > 12)
    {
        nHours -= 12;
        strAM = "pm";
    }
   

    strResult += "<P class='DATETIME'>"
    strResult += g_arrMonths[dtmDate.getMonth()] + " ";
    strResult += dtmDate.getDate() + ", ";
    strResult += dtmDate.getFullYear() + "  ";
    strResult += "</P><P class='DATETIME'>"
    strResult += nHours + ":";
    strResult += strMinutes + " ";
    strResult += strAM;
    strResult += "</P>"
    return strResult;
}

var strTitle = window.opener.document.title;
document.write("<P><H1>" + strTitle + "</H1></P>");
if (g_oQuizResults.oOptions.strName)
{
    if (g_oQuizResults.oOptions.strName.length > 0)
    {
        document.write("<P><H2>" + g_oQuizResults.oOptions.strName + "</H2></P>");
    }
}
</SCRIPT>
<P style='margin-bottom: 0;'>&nbsp;</P>

<TABLE WIDTH='600' BORDER=1 align='center'>
    <TR>
<SCRIPT>
    document.write("<TH>" + g_strDateTime + "</TH>");

    if (g_oQuizResults.oOptions.bShowUserScore)
    {   
        document.write("<TH>" + g_strStudentScore + "</TH>");
    }
    if (g_oQuizResults.oOptions.bShowPassingScore)
    {
        document.write("<TH>" + g_strPassingScore + "</TH>");
    }
    if (g_oQuizResults.oOptions.bShowShowPassFail)
    {
        document.write("<TH>" + g_strResult1 + "</TH>");
    }

</SCRIPT>
    </TR>
   
    <TR>
<SCRIPT>
    document.write("<TD class='DATE'>" + FormatDate(g_oQuizResults.dtmFinished) + "</TD>");

    if (g_oQuizResults.oOptions.bShowUserScore)
    {
        document.write("<TD class='SUMMARY'>" + g_oQuizResults.strScore + "</TD>");
    }
    if (g_oQuizResults.oOptions.bShowPassingScore)
    {
        document.write("<TD class='SUMMARY'>" + g_oQuizResults.strPassingScore + "</TD>");
    }
    if (g_oQuizResults.oOptions.bShowShowPassFail)
    {
        document.write("<TD class='SUMMARY'>" + g_oQuizResults.oOptions.strResult + "</TD>");
    }
</SCRIPT>
    </TR>
</TABLE>
<P style='margin-top: 0;'>&nbsp;</P>

<SCRIPT>
    if (g_oQuizResults.oOptions.bShowQuizReview)
    {

        document.write("<TABLE WIDTH='100%' BORDER=1>");
        document.write("<TR>");
        document.write("<TH>#</TH>");
        document.write("<TH>" + g_strQuestion + "</TH>");
        document.write("<TH>" + g_strCorrectAns + "</TH>");
        document.write("<TH>" + g_strStudentAns + "</TH>");
        document.write("<TH>" + g_strResult2 + "</TH>");
        document.write("<TH>" + g_strPointsAwarded + "</TH>");
        document.write("</TR>");


        // Sort our questions by question number
        var arrSort = new Array();

        if (g_arrResults.length > 0)
        {
            if (g_arrResults[0].bFound)
            {
                for (var i = 0; i < g_arrResults.length; i++)
                {
                    g_arrResults[i].bFound = false;
                }
            }

            for (var i = g_arrResults.length - 1; i >= 0; i--)
            {
                var nIndex = -1;
                var nMaxValue = -1;
       
                for (var j = 0; j < g_arrResults.length; j++)
                {
                    if (!g_arrResults[j].bFound && g_arrResults[j].nQuestionNum > nMaxValue)
                    {
                        nMaxValue = g_arrResults[j].nQuestionNum;
                        if (nIndex >= 0)
                        {
                            g_arrResults[nIndex].bFound = false;
                        }
                        g_arrResults[j].bFound = true;
                        nIndex = j;               
                    }
                }
                arrSort[i] = nIndex;
            }

            for (var i = 0; i < arrSort.length; i++)
            {
                AddItem(arrSort[i]);
            }
        }

        document.write("</TABLE>");
    }

</SCRIPT>

Hvordan tilrettes koden, så den virker efter at have modtaget oplsninger/værdi fra websiden med function SendQuiz()????
Det er noget de nævnte window.......osv men kender ikke til script i java.

Kan du hjælpe mig vil jeg være YDERTST taknemmelig!!!!!!!!!!!

Mange hilsner
Avatar billede roenving Novice
17. september 2005 - 13:13 #1
Hvis du sender et formresultat til et nyt vindue (target _blank) skal du jo rette i det, der sendes i din php-kode !-)
Avatar billede gummisko Nybegynder
17. september 2005 - 13:21 #2
Ja, det kan jeg dog fatte(-:
Men den nævnte kode, som jeg skal have tilrettet, skal jo indsættes på index.php således at scriptet skriver alle oplysninger ud på denne side!

PHP skulle jo nok kunne klare at håndtere et javascipt.
Avatar billede gummisko Nybegynder
17. september 2005 - 13:25 #3
Disse variabler på index.php

    $rigtige = $_POST["QuizResults"];
    $quiznavn = $_REQUEST["subject"];
    $modtagers_email = $_REQUEST["modtagers_email"];
    $din_email = $_REQUEST["din_email"];
    $navn = $_REQUEST["navn"];
    $skole = $_REQUEST["skole"];
    $klasse = $_REQUEST["klasse"];
    $kommentar = $_REQUEST["kommentar"];

klarer fint at håndtere værdien fra fra formularen.

Så måske er det noget med at tilrette variablernes navne (request det ene og andet) i scriptet, men det kan jeg ikke gennemskue, øv
Avatar billede roenving Novice
17. september 2005 - 13:25 #4
Nej, php kan ikke håndtere sådan et script, men det er relativt enkelt at skrive det om til php-kode !-)
Avatar billede gummisko Nybegynder
17. september 2005 - 13:29 #5
BE OM BE OM BE OM
PLEASE!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Vidste ikke at php ikke kan håndtere script, sorry!!!
Vil du ikke nok???????????????????????
Avatar billede roenving Novice
17. september 2005 - 13:50 #6
-- men jeg kan ikke php, eller i hvert fald ikke tilstrækkeligt til at jeg vil påtage at skrive en php-side, men der er med garanti et hoben mennesker ovre i php-kategorien, som med glæde vil hjælpe dig !-)
Avatar billede gummisko Nybegynder
17. september 2005 - 14:01 #7
okay - prøver
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester