• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Formularausweitung

Status
Für weitere Antworten geschlossen.

Mars@Gera

Mitglied
Habe ein kleines Forumlar geschrieben, eigentlich sollte es in der selben Seite ausgewertet werden,
aber geht nicht ganz, so habe das Formular:

PHP:
    <form method="post" action="engl_exer1_lös.php">
      <table border="1" align="center" width="40%">
        <tr>
          <td width="20%">three weeks</td>
          <td width="20%" align="center"><input type="text" maxlength="50" name="three_weeks"></input></td>
        </tr>
        <tr>
          <td width="20%">3 o´clock</td>
          <td width="20%" align="center"><input type="text" maxlength="50" id="3_o´clock"></input></td>
        </tr>
        <tr>
          <td width="20%">two years</td>
          <td width="20%" align="center"><input type="text" maxlength="50" id="two_years"></input></td>
        </tr>
        <tr>
          <td width="20%">yesterday afternoon</td>
          <td width="20%" align="center"><input type="text" maxlength="50" id="yesterday_afternoon"></input></td>
        </tr>
        <tr>
          <td width="20%">1967</td>
          <td width="20%" align="center"><input type="text" maxlength="50" id="1967"></input></td>
        </tr>
        <tr>
          <td width="20%">several minutes</td>
          <td width="20%" align="center"><input type="text" maxlength="50" id="several_minutes"></input></td>
        </tr>
        <tr>
          <td width="20%">they married</td>
          <td width="20%" align="center"><input type="text" maxlength="50" id="they_married"></input></td>
        </tr>
        <tr>
          <td width="20%">days</td>
          <td width="20%" align="center"><input type="text" maxlength="50" id="days"></input></td>
        </tr>
        <tr>
          <td width="20%">last year</td>
          <td width="20%" align="center"><input type="text" maxlength="50" id="last_year"></input></td>
        </tr>
        <tr>
          <td width="20%">half an hour</td>
          <td width="20%" align="center"><input type="text" maxlength="50" id="half_an_hour"></input></td>
        </tr>
        <tr>
          <td width="20%">a quarter past seven</td>
          <td width="20%" align="center"><input type="text" maxlength="50" id="a_quarter_past_seven"></input></td>
        </tr>
        <tr>
          <td width="20%">midnight</td>
          <td width="20%" align="center"><input type="text" maxlength="50" id="midnight"></input></td>
        </tr>
        <th colspan="2">
          <input type="submit" maxlength="50" value="Überprüfen"></input>
        </th>
      </table>
    </form>


So dann habe ich die Auswertung geschrieben nur für das erste Kästchen!

PHP:
<?php
$three_weeks="for";

if($three_weeks=="for")
   {
   echo "richtig";
   }
else
   {
   echo "falsch";
   }

?>

Wo ist der Fehler?
Oder kann mir jemand sagen wie es geht, das ich alles auf einer Seite machen kann, das sozusagen
die Auswetung in einer Weiteren spalte geschieht?

MfG Marcel
 
Werbung:
PHP:
   <?php
$three_weeks=$_POST["three_weeks"];

if($three_weeks=="for")
   {
   echo "richtig";
   }
else
   {
   echo "falsch";
   }

?>
 
Ist es denn möglich, das ich sage, ich gebe alle Lösungen in die Tabelle ein, drücke dann auf Überprüfen und die Auswertung erfolgt in einer weiteren Spalte auf der selben Seite, was muss ich da ändern?
 
Werbung:
das kannst du mit JavaScript realisieren, oder halt mit Ajax wenn du das prüfen weiterhin per PHP machen möchtest
 
Naja kommt darauf an mit welcher Methode du es machen möchtest.
Da du dich anscheinend nicht damit auskennst, würde ich dir raten JavaScript zu nutzen, denn für Ajax sollte man JavaScript bereits gut beherrschen

Dazu kann ich dir folgende Tipps geben

Formularprüfung
Formularprüfung
Mit Javascript Formulare überprüfen

Oder wenn es schon was fertiges sein soll, schau dich mal hier um
DeveloperChannel.de - kostenlose JavaScript Skripte: Formular-Check

Bei weiteren Fragen helf ich dir dann natürlich gerne weiter :)

PS: Ich moove das dann mal nach JavaScript MOVED
 
Werbung:
Mhhp alles schön und gut, so wie ich sehe dient dies aber nur, ob die Felder ausgefüllt sind ect. meine absicht ist, das man 2 Wörter eingeben kann und nur 1 richtiges ist, und es soll halt in einer Spalte angezeigt werden! (im selben dokument)

Oder habe ich dies alles falsch verstanden, das das auch damit geht?

MfG Marcel
 
ja das geht auch damit, hier mal ein mini-Beispiel
Code:
<head>
<script>
function check(v,a,s) {
 if(v == a)
   document.getElementById(s).innerHTML = "RICHTIG"
else
   document.getElementById(s).innerHTML = "falsch"
}
</script>
</head>
<body>
<input type="text" name="test" value="" id="feld" onkeyup="check(this.value,'for','status')">
<span id="status">falsch!</span>
</body>
Wenn du in das Feld for eingibst wird falsch zu RICHTIG

Wenn du meine Funktion benutzen willst, so ist sie aufgebaut:
Code:
function check(v,a,s) {
 if(v == a)
   document.getElementById(s).innerHTML = "RICHTIG"
else
   document.getElementById(s).innerHTML = "falsch"
}
und so rufst du sie auf (das kommt in den <input>-Tag)
Code:
onkeyup="check(v,a,s)"
v = value des elementes (bekommst du mit this.value)
a = Was ist das richtige? (z.b. 'for')
s = Id des Elementes in dem der Status richtig oder falsch erscheinen soll (z.b. 'status')
Code:
onkeyup="check(this.value,'for','status')"
 
Zuletzt bearbeitet:
Werbung:
naja also pass auf nochmal "Einfach"

du hast folgende JavaScript funktion (die steht im head bereich)
Code:
function check(v,a,s) {
 if(v == a)
   document.getElementById(s).innerHTML = "RICHTIG"
 else
   document.getElementById(s).innerHTML = "falsch"
}

Wie du sehen kannst akzeptiert sie 3 Argumente (v,a und s)
Wie die Funktion an sich arbeitet ist ja egal, du musst nur wissen was du ihr Übergibst.

v ist der Wert des Input-Elementes das geprüft werden soll. Da der aufruf vom Input feld aufgerufen wird, bekommst du ihn über die variable
Code:
this.value
this steht dabei für das input element, value für den inhalt desselben.

a ist der Wert der Richtig sein soll, also wenn du möchtest, dass man Hallo eingeben muss dann übergibst du
Code:
'Hallo'
die ' sind nötig da es sich um ein string handelt.

s ist die id des Elementes in der der Status falsch oder RICHTIG angezeigt werden soll. wenn du also daneben noch eine spalte hast gibt ihr mit dem id-Tag einen id. z.B.
Code:
<td id="test">hier wird der status stehen</td>
also übergibst du die id, auch wieder mit ' da es ein string ist
Code:
'test'
also haben wir sie zusammen, verpackt in den funktionsaufruf sieht das dann so aus:
Code:
check(this.id,'Hallo','test')
diese Funktion soll vom Input feld immer dann aufgerufen werden, wenn eine Eingabe getätigt wurde:
Code:
<input onkeyup="check(this.id,'Hallo','test')" [...]>

soweit noch mit gekommen?. Jetzt brauchst du nur noch ein Element in dem der Status angezeigt wird und es mit der id versehen:
Code:
...
<td id="test"></td>
...
 
HTML:
          <td width="20%" align="center"><input type="text" maxlength="50" name="three_weeks"
          id="status" onkeyup="check(this.value,'for','status')"></input></td>

so in etwa?
 
fast, du hast nur den letzten parameter nicht richtig, er bestimmt wo das Ergebnis der Prüfung angezeigt werden soll

Code:
<td width="20%" align="center">
<input type="text" maxlength="50" name="three_weeks" 
onkeyup="check(this.value,'for','status')"></input>
</td>
<td id="status">
</td>
 
Werbung:
oki, habe ich gemacht, geht aber irgendwie nicht, muss ich das noch nen button einbauen, aber bei javascript müsste man das theoretisch nciht machen!
 
das sollte ohn button gehen, zeig doch mal deinen code pls. Hast du die Funktion im QT stehen? was sagt die Fehlerkonsole?
 
HTML:
<html>
<head>
<title>..::exersise past perfect (Übungen)::..</title>
<script language="JavaScript">
<script language="JavaScript">
<!--
function check(v,a,s) {
 if(v == a)
   document.getElementById(s).innerHTML = "RICHTIG"
 else
   document.getElementById(s).innerHTML = "falsch"
}
-->
</script>
<style type="text/css">
<!--
div#1
 {
         position: relative;
         margin: 12px;
         padding: 0.5em;
     border: 1px;
     border-style: dashed;
   }
div#2
 {
         position: relative;
         padding-right: 10px;
         padding-left: 10px;
         padding-top: 5px;
         padding-bottom: 5px;
     border: 2.5px;
     border-style: dashed;
   }
div#3
 {
         position: absolute; right:12px;
         width: 100px;
         margin: 12px;
         padding: 0.1em;
     border: 1px;
     border-style: dashed;
   }
div#4
 {
         position: absolute; right:124px;
         width: 100px;
         margin: 12px;
         padding: 0.1em;
     border: 1px;
     border-style: dashed;
   }
div#5
 {
         position: absolute; right:236px;
         width: 100px;
         margin: 12px;
         padding: 0.1em;
     border: 1px;
     border-style: dashed;
   }
div#6
 {
         position: absolute; right:20px;
         width: 100px;
         margin: 12px;
         padding: 0.1em;
     border: 1px;
     border-style: dashed;
   }
td#1
 {
         font-size:20px;
         }
p#1
 {
         font-size:20px;
         }
-->
</style>
<meta name="author" content="">
</head>
<body text="#000000" bgcolor="#FFFFFF" link="#000000" alink="#000000" vlink="#000000">
<h1 align="center" title="Zeitformen">Tenses</h1>
  <font size="-1" color="#0000FF">
    <p align="center">Für die Englischen Begriffe wurden im HTML-Script titel verwenden, das heißt, bleiben Sie mit der Maus
    auf einem Englischen Wort oder Satz, und es wird die Übersetzung angezeit!</p>
  </font>
<p>
  </a>
  <a href="engl_part5.html">
    <div id="3">
      <p align="center">zurück</p>
    </div>
  </a>
  <a href="../index.html">
    <div id="4">
      <p align="center">zur Übersicht</p>
    </div>
  </a>
  <a href="javascript:window.print()">
    <div id="5">
      <p align="center">Drucken</p>
    </div>
  </a>
</p>
<hr noshade size="1">
<br>
<br>
<div id="1">
  <h3>exersise past perfect (Übungen)</h3>
  <p align="justify">
    <div id="1">
      <p align="center">Finden Sie die richtige for des deutschen Wortes "seit". Wählen Sie ob <i>for</i> (Zeitspanne) oder
      <i>since</i> (Zeitpunkt).<br><br>
      Bitte Achten Sie darauf, das Sie die Wörter richtig schreiben!</p>
    </div>
    <br>
      <table border="1" align="center" width="40%">
        <tr>
          <td width="20%">Zeitwort</td>
          <td width="20%">Ihre Eingabe</td>
          <td width="10%">Status</td>
        </tr>
        <tr>
          <td width="20%">three weeks</td>
          <td width="20%" align="center"><input type="text" maxlength="50" name="three_weeks"
          id="status" onkeyup="check(this.value,'for','status')"></input></td>
          <td id="status"></td>
        </tr>
        <tr>
          <td width="20%">3 o´clock</td>
          <td width="20%" align="center"><input type="text" maxlength="50" name="three_o´clock"></input></td>
        </tr>
        <tr>
          <td width="20%">two years</td>
          <td width="20%" align="center"><input type="text" maxlength="50" name="two_years"></input></td>
        </tr>
        <tr>
          <td width="20%">yesterday afternoon</td>
          <td width="20%" align="center"><input type="text" maxlength="50" name="yesterday_afternoon"></input></td>
        </tr>
        <tr>
          <td width="20%">1967</td>
          <td width="20%" align="center"><input type="text" maxlength="50" name="1967"></input></td>
        </tr>
        <tr>
          <td width="20%">several minutes</td>
          <td width="20%" align="center"><input type="text" maxlength="50" name="several_minutes"></input></td>
        </tr>
        <tr>
          <td width="20%">they married</td>
          <td width="20%" align="center"><input type="text" maxlength="50" name="they_married"></input></td>
        </tr>
        <tr>
          <td width="20%">days</td>
          <td width="20%" align="center"><input type="text" maxlength="50" name="days"></input></td>
        </tr>
        <tr>
          <td width="20%">last year</td>
          <td width="20%" align="center"><input type="text" maxlength="50" name="last_year"></input></td>
        </tr>
        <tr>
          <td width="20%">half an hour</td>
          <td width="20%" align="center"><input type="text" maxlength="50" name="half_an_hour"></input></td>
        </tr>
        <tr>
          <td width="20%">a quarter past seven</td>
          <td width="20%" align="center"><input type="text" maxlength="50" name="a_quarter_past_seven"></input></td>
        </tr>
        <tr>
          <td width="20%">midnight</td>
          <td width="20%" align="center"><input type="text" maxlength="50" name="midnight"></input></td>
        </tr>
        <th colspan="2">
          <input type="submit" maxlength="50" value="Überprüfen"></input>
        </th>
      </table>
</div>
  </p>
  <p>
    <a href="engl_part5.html">
      <div id="3">
        <p align="center">zurück</p>
      </div>
    </a>
    <a href="../index.html">
      <div id="4">
        <p align="center">zur Übersicht</p>
      </div>
    </a>
    <a href="javascript:window.print()">
      <div id="5">
        <p align="center">Drucken</p>
      </div>
    </a>
  </p>
</body>
</html>
 
Werbung:
dieses input feld
Code:
<input type="text" maxlength="50" name="three_weeks"
          id="status" onkeyup="check(this.value,'for','status')"></input>
darf nicht die selbe id haben wie das feld in dem der status angezeigt wird, wenn du da die id löscht dann geht es.
 
also so?

HTML:
          <td width="20%" align="center"><input type="text" maxlength="50" name="three_weeks"
          onkeyup="check(this.value,'for','status')"></input></td>
          <td id="status"></td>
 
Werbung:
Code:
<html>
<head>
<title>..::exersise past perfect (Übungen)::..</title>
<script language="JavaScript">
<script language="JavaScript">
<!--
function check(v,a,s) {
 if(v == a)
   document.getElementById(s).innerHTML = "RICHTIG"
 else
   document.getElementById(s).innerHTML = "falsch"
}
-->
</script>
<style type="text/css">
<!--
div#1
 {
         position: relative;
         margin: 12px;
         padding: 0.5em;
     border: 1px;
     border-style: dashed;
   }
div#2
 {
         position: relative;
         padding-right: 10px;
         padding-left: 10px;
         padding-top: 5px;
         padding-bottom: 5px;
     border: 2.5px;
     border-style: dashed;
   }
div#3
 {
         position: absolute; right:12px;
         width: 100px;
         margin: 12px;
         padding: 0.1em;
     border: 1px;
     border-style: dashed;
   }
div#4
 {
         position: absolute; right:124px;
         width: 100px;
         margin: 12px;
         padding: 0.1em;
     border: 1px;
     border-style: dashed;
   }
div#5
 {
         position: absolute; right:236px;
         width: 100px;
         margin: 12px;
         padding: 0.1em;
     border: 1px;
     border-style: dashed;
   }
div#6
 {
         position: absolute; right:20px;
         width: 100px;
         margin: 12px;
         padding: 0.1em;
     border: 1px;
     border-style: dashed;
   }
td#1
 {
         font-size:20px;
         }
p#1
 {
         font-size:20px;
         }
-->
</style>
<meta name="author" content="">
</head>
<body text="#000000" bgcolor="#FFFFFF" link="#000000" alink="#000000" vlink="#000000">
<h1 align="center" title="Zeitformen">Tenses</h1>
  <font size="-1" color="#0000FF">
    <p align="center">Für die Englischen Begriffe wurden im HTML-Script titel verwenden, das heißt, bleiben Sie mit der Maus
    auf einem Englischen Wort oder Satz, und es wird die Übersetzung angezeit!</p>
  </font>
<p>
  </a>
  <a href="engl_part5.html">
    <div id="3">
      <p align="center">zurück</p>
    </div>
  </a>
  <a href="../index.html">
    <div id="4">
      <p align="center">zur Übersicht</p>
    </div>
  </a>
  <a href="javascript:window.print()">
    <div id="5">
      <p align="center">Drucken</p>
    </div>
  </a>
</p>
<hr noshade size="1">
<br>
<br>
<div id="1">
  <h3>exersise past perfect (Übungen)</h3>
  <p align="justify">
    <div id="1">
      <p align="center">Finden Sie die richtige for des deutschen Wortes "seit". Wählen Sie ob <i>for</i> (Zeitspanne) oder
      <i>since</i> (Zeitpunkt).<br><br>
      Bitte Achten Sie darauf, das Sie die Wörter richtig schreiben!</p>
    </div>
    <br>
      <table border="1" align="center" width="40%">
        <tr>
          <td width="20%">Zeitwort</td>
          <td width="20%">Ihre Eingabe</td>
          <td width="10%">Status</td>
        </tr>
        <tr>
          <td width="20%">three weeks</td>
          <td width="20%" align="center"><input type="text" maxlength="50" name="three_weeks"
         onkeyup="check(this.value,'for','status')"></input></td>
          <td id="status"></td>
        </tr>
        <tr>
          <td width="20%">3 o´clock</td>
          <td width="20%" align="center"><input type="text" maxlength="50" name="three_o´clock"></input></td>
        </tr>
        <tr>
          <td width="20%">two years</td>
          <td width="20%" align="center"><input type="text" maxlength="50" name="two_years"></input></td>
        </tr>
        <tr>
          <td width="20%">yesterday afternoon</td>
          <td width="20%" align="center"><input type="text" maxlength="50" name="yesterday_afternoon"></input></td>
        </tr>
        <tr>
          <td width="20%">1967</td>
          <td width="20%" align="center"><input type="text" maxlength="50" name="1967"></input></td>
        </tr>
        <tr>
          <td width="20%">several minutes</td>
          <td width="20%" align="center"><input type="text" maxlength="50" name="several_minutes"></input></td>
        </tr>
        <tr>
          <td width="20%">they married</td>
          <td width="20%" align="center"><input type="text" maxlength="50" name="they_married"></input></td>
        </tr>
        <tr>
          <td width="20%">days</td>
          <td width="20%" align="center"><input type="text" maxlength="50" name="days"></input></td>
        </tr>
        <tr>
          <td width="20%">last year</td>
          <td width="20%" align="center"><input type="text" maxlength="50" name="last_year"></input></td>
        </tr>
        <tr>
          <td width="20%">half an hour</td>
          <td width="20%" align="center"><input type="text" maxlength="50" name="half_an_hour"></input></td>
        </tr>
        <tr>
          <td width="20%">a quarter past seven</td>
          <td width="20%" align="center"><input type="text" maxlength="50" name="a_quarter_past_seven"></input></td>
        </tr>
        <tr>
          <td width="20%">midnight</td>
          <td width="20%" align="center"><input type="text" maxlength="50" name="midnight"></input></td>
        </tr>
        <th colspan="2">
          <input type="submit" maxlength="50" value="Überprüfen"></input>
        </th>
      </table>
</div>
  </p>
  <p>
    <a href="engl_part5.html">
      <div id="3">
        <p align="center">zurück</p>
      </div>
    </a>
    <a href="../index.html">
      <div id="4">
        <p align="center">zur Übersicht</p>
      </div>
    </a>
    <a href="javascript:window.print()">
      <div id="5">
        <p align="center">Drucken</p>
      </div>
    </a>
  </p>
</body>
</html>

Bei mir geht das ..::exersise past perfect (Übungen)::..
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben