textfeld enabled/disabled formchecker

goto;

Erfahrenes Mitglied
Hallo Community, ich mal wieder.
Folgendes Problem:
Ich habe ein Textfeld, welches enable/disabled werden kann.
Dieses Textfeld wird mit einem formchecker überprüft ob dieser Text enthält.
Es ist ein Pflichtfeld solang es enable ist. Wenn ich es nun jedoch disable und zum nächsten Schritt will, kommt der Formchecker und sagt mir das dieses Feld nicht leer sein darf.

Wie bring ich diesem bei das er es nur überprüfen soll wenn es enabled ist`?
 
Vielleicht so:
Javascript:
function enable(Obj) {
  input = 'input_'+Obj.name;
  
  input = document.getElementById(input);
  
  if(input.disabled == true) {
    input.disabled = false;
  }
  else {
    input.disabled = true;
  }
}

HTML:
// ...
<input type="text" name="input_feld1" disabled="disabled" />
<input type="check" name="feld1" onclick="enable(this);" />
// ...

Ich weiß nur nicht, wie du dir das mit der Überprüfung gedacht hast. Soll das mit JavaScript oder mit PHP (oder anderer serverseitigen Programmiersprache) realisiert werden?
 
Die idee von mir war wohl ziemlich dumm wie mir gerade auffällt, hab es mir jetzt umgedacht. Es liegt ja eigentlich nur daran, dass wenn das Feld disabled ist kein value="" mehr im Textfeld enthalten ist.
Kann ich diesem Textfeld jetzt nicht ein Value verpassen das man aber nicht sieht? Wenn ich jetzt mit einem java ein löschen des textfelds vornehme sobald dieser disable wird. steht in diesem textfeld ja nichts mehr. gibt es da etwas was ich machen kann? damit unsichtbar in diesem textfeld bsp.: value="-" steht?
 
Du willst also erreichen, dass nach dem man ein Textfeld wieder aktiviert, in dem etwas stand als du es deaktiviertest, wieder der gleiche Text steht, aber eben solange das Feld deaktiviert ist der Inhalt nicht zu sehen ist?
 
Fast :)
Feld kann Deaktiviert werden und auch wieder Aktiviert.
Nun wird mittels eines Formcheckes überprüft ob dieses Textfeld Inahlt hat, weil dieses ein Pflichtfeld.
Wenn es also nun Aktiviert ist und Inhalt drin steht ->weiter zur nächstens Seite.
Wenn es Aktiviert ist und kein Inhalt drin steht -> Fehlermeldung"es muss ein wert sein"
Wenn es Deaktiviert ist, soll im hintergrund ein value eingetragen werden der aber nicht gesehen werden kann, damit mir der Formchecker nicht sagt, dass ein Wert eingegeben werden muss. Ich glaub das erklärt es besser.Hoffe es zumindest

So gesagt, suche ich ein mittel um dem textfeld ein hidden value zu verpassen.
 
Ok, auf meine Art lässt sich das nicht Lösen, hatte es soweit das ich Inhalt in dem disabled Textfeld hatte, nun wird via
HTML:
function field_empty($value, $msg)
	{
		if (($value) == "")
		{
			$this->error_list[] = array('value' => $value, 'msg' => $msg);
			return false;
		}
		else
		{
			return true;
		}
	}
überprüft, ob dieses Textfeld Inhalt hat, hat es zwar, aber der Script sagt mir weiterhin das, dass Textfeld keinen Inhalt hat.

Gibt es eine möglichkeit so einem Script zur Überprüfung zu erklären das dieses Textfeld zwar Disabled ist aber trotzdem Inhalt hat der zu Überprüfen ist?
 
Hi,

vielleicht hilft es, wenn du den Wert des Textfeldes beim Deaktivieren in ein verstecktes Feld schreibst. Dieses kannst du nach dem Absenden des Formulars auswerten.

Beispiel:
Code:
<html>
<head>
<title>www.tutorials.de</title>
<meta name="author" content="Quaese">
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
<script type="text/javascript">
<!--
function manipField(objCB){
  document.getElementById('txtID').disabled = (objCB.checked)? true : false;
  document.getElementById('hidID').value = (objCB.checked)? document.getElementById('txtID').value : "";
}
//-->
</script>
</head>
<body>
<form method="post" action="script.php">
  <input type="checkbox" onclick="manipField(this);">
  <input type="text" id="txtID" name="txtTest" value="">
  <input type="hidden" id="hidID" name="hidTest" value="">
  <input type="submit">
</form>
</body>
</html>

Ciao
Quaese
 
Gute Idee, aber leider nicht die Lösung.

wenn ich dieses Feld deaktiviere übergibt er value an das "hidden" textfeld und der formchecker überprüft diesen.

Jedoch ist jetzt das Problem jetzt,
der formchecker soll ja weiterhin auch das non-hidden feld überprüfen. Sprich:

"hab leider kaum ahnung von java" Besteht die möglichkeit mit ajax oder java. den wert auf dem Textfeld immer in das hiddenfeld zu laden?

also so:
sichtbares textfeld = $sb
hidden textfeld =$hid

--

$sb / Aktiviert / kein Inhalt eingegeben -> Wert an $hid --> Formchecker meldet fehler
$sb / Aktiviert / Inhalt -> Wert an $hid --> Nächster Schritt
$sb / Deaktiviert / Inhalt ("-") --> Wert an $hid --> Nächster Schritt
 
Du musst dem angezeigten Eingabefeld einfach das Ereignis "onchange" zuweisen und dann wie in der Funktion von Quaese überprüfen, ob die zugehörige Checkbox ausgewählt ist oder nicht und dementsprechend jedes Mal neu den Text aus dem dem Eingabefeld in das versteckte Feld laden.
 
Gut ok, ich steig gerade nicht mehr durch. Wenn das Textfeld aktiv ist soll es ohne checkbox gehen.
So wie es jetzt ist geht es ja. es würde gehen wenn via ajax der Inhalt aus dem Textfeld in ein anderes das hidden ist geschrieben wird. Ich werd mich mal schlau machen. Danke euch
 

Neue Beiträge

Zurück