textfeld als value eines radiobuttons
brainatwork
- html
guten morgen :)
so nachdem ich jetzt seit zwei stunden such und ausnahmsweise mal nich gefunden hab was ich such frag ich mal euch :)
formular mit frage und dazugehörigen 4 radiobuttons ..
radio 1 bis drei sind vorgegeben antworten
und 4 soll beim senden den wert eines dahinterstehenden textfeldes übergeben
*hundeblick* ich kann doch kein javascript und das hat doch bestimmt schon mal jemand gemacht
gruss kuss schluss
Hallo,
radio 1 bis drei sind vorgegeben antworten
und 4 soll beim senden den wert eines dahinterstehenden textfeldes übergeben
das tut das Formular doch ohnehin - egal, ob der davorstehende Radiobutton aktiviert ist oder nicht.
*hundeblick* ich kann doch kein javascript und das hat doch bestimmt schon mal jemand gemacht
Was genau möchtest Du denn mit Javascript tun?
Ciao,
Andreas
danke erstma und ..
javascript war nur sone idee, dsa war das einzige was mir übern weg gelaufen is womit funktionieren könnte
und nochmal ganz genau was es werden soll:
()antwort1
()antwort2
()antwort3
()________[eigene antwort eingeben]
und es soll halt nur eins möglich sein
und ich wollte nich erst noch ne abfrage einbauen ob des feld angeklickt is oder so ähnlich und dann die variable auf das textfeld setzen etc.
weil von der sorte hab ich eins, zwei, viele fragen
und vorher noch ne menge 'normale' radiobuttons
und dann will ich des einfach mittels php mailen
gruss kuss schluss ich muss
Hallo,
abgesehen von Siechfrieds Hinweis - ich habe, da gerade etwas Luft, mal rasch dies zusammengeschustert (Achtung: das ist nur mal eben zusammengejammt):
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Unbenanntes Dokument</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<script type="text/javascript">
function activateUserInput(inputObj) {
var radioObjColl = inputObj.parentNode.parentNode.getElementsByTagName('input');
for(var i=0; i<radioObjColl.length; i++) {
radioObjColl[i].checked = false;
if(i == 0) {
var inputObj = inputObj.parentNode.parentNode.getElementsByTagName('textarea')[0];
var nameString = radioObjColl[i].name + '_user';alert('nameString: '+nameString);
inputObj.setAttribute("name", nameString);
inputObj.style.backgroundColor = '#fff';
}
}
}
function deactivateUserInput(radioObj) {
var inputObj = radioObj.parentNode.parentNode.getElementsByTagName('textarea')[0];
inputObj.removeAttribute("name");
inputObj.style.backgroundColor = '#efefef';
}
</script>
</head>
<body>
<p>
<?php
while(list($key, $val) = each($_POST)) {
echo $key.' = '.$val.'<br />';
}
?>
</p>
<form action="formtest.php" method="post">
<fieldset>
<legend>Auswahl foo</legend>
<p><label for="foo_0">Option 1</label>: <input id="foo_0" name="foo" type="radio" value="value_0" onchange="deactivateUserInput(this);" /></p>
<p><label for="foo_1">Option 2</label>: <input id="foo_1" name="foo" type="radio" value="value_1" onchange="deactivateUserInput(this);" /></p>
<p><label for="foo_2">Option 3</label>: <input id="foo_2" name="foo" type="radio" value="value_2" onchange="deactivateUserInput(this);" /></p>
<p><label for="foo_user">Benutzereingabe</label>: <textarea id="foo_user" name="foo_user" cols="10" rows="3" onfocus="activateUserInput(this);"></textarea></p>
</fieldset>
<p><input type="submit" value="Absenden" /></p>
</form>
</body>
</html>
Ciao,
Andreas
Hallo,
var nameString = radioObjColl[i].name + '_user';
var nameString = radioObjColl[i].name;
<textarea id="foo_user" name="foo_user" cols="10" rows="3" onfocus="activateUserInput(this);"></textarea>
<textarea id="foo_user" name="foo" cols="10" rows="3" onfocus="activateUserInput(this);"></textarea>
Dann bekommst Du immer das POST-Datum "foo" am Server - egal ob es nun eine Standardoption oder eine benutzereingabe ist.
Ciao,
Andreas
danke und ich werd das heut mal testen ...
mal sehen obs funktioniert, bin da noch bissel skeptisch, weil das ganze über über serendipity läuft und des manchmal schwierigkeiten macht wenn man was im <head>-tag einfügen will
bis denn :)
gruss kuss schluss
Hell-O!
formular mit frage und dazugehörigen 4 radiobuttons ..
radio 1 bis drei sind vorgegeben antworten
und 4 soll beim senden den wert eines dahinterstehenden textfeldes übergeben
Variante 1: Gib der Textarea nur dann einen Namen, wenn der Radiobutton ausgewählt wurde.
Variante 2: Entferne das name-Attribut der Textarea, wenn der Radiobutton nicht ausgewählt wurde.
Variante 2 würde ich vorziehen, da so auch User ohne JS das Formular benutzen können, da die Textarea hier mit übermittelt wird. User ohne JS könnte man durch ein verstecktes Eingabefeld in einem noscript-Bereich identifizieren, die Prüfung, ob die Textarea zu Recht übermittelt wurde, hat dann serverseitig zu erfolgen.
Siechfred