php.de

Zurück   php.de > Webentwicklung > HTML, Usability und Barrierefreiheit

HTML, Usability und Barrierefreiheit Themen rund um Textauszeichnung, Formatierung, Barrierefreiheit und Usability.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 23.09.2006, 02:11  
Erfahrener Benutzer
 
Registriert seit: 16.02.2006
Beiträge: 303
tinchen
Standard JS Grundlagenfehler - nur wo?

Hallo ihr,

zunächst sorry für die merkwürdie Überschirft, aber mir
wollte kein wirklicher Titel einfallen.

Ich habe ein Formular gebastelt, in dem zwei Datenfelder vorkommen,
die den gleichen Namen tragen. Es gibt zum einen die Möglichkeit einen
Link, der aus DB generiert wird auszuwählen, zum anderen kann man
auch selbst einen Link einfügen.
Versucht habe ich es hiermit: (Da ich in JS meine ersten Schritte mache, weiß ich nicht so recht weiter)

Code:
<script language="javascript" type="text/javascript">
		
		function switcher(auswahl) {
			
   			if (auswahl=="" ) {
				document.getElementById('userlink').disabled.disabled = false;	
    			}
    			else {
        			document.getElementById('userlink').disabled.disabled = true;
				document.adminform.link.value == "";
   			}
 		}
		</script>
Code:
<form action="index2.php" method="post" name="adminForm">
Code:
<select name="link" class="text_area" size="1" onchange="switcher(this.form.link.options[this.form.link.selectedIndex].value)">
	<option value=""></option>
	<option value="index.php?option=ontent&amp;task=view&amp;id=10">Example Item 1</option>
	<option value="index.php?option=content&amp;task=view&amp;id=11">Example Item 2</option>
</select>
 (Content Item)

OR

<input value="" type="text" class="text_area" name="link" size="50" maxlength="100" id="userlink" />
Irgendetwas werde ich falsch gemacht haben. Angeblich hat this.form no properties - aber was muss ich tun?


Gruß
Tine
tinchen ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 23.09.2006, 14:48  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

Hallo,
so ganz verstehe ich nicht, was du machen möchtest.

[x] [ Link hier eingeben ]
[x] [ Auswahlliste von Links ]

soetwas?
Dann verwende doch radio-Buttons. Als Werte setzt du dynamisch entweder die ID der URL oder den Text-String der URL.
Oder geht deine Frage eher nach dem technischen? this.form ist wirklich etwas launisch bei onchange. "this" ist in diesem Fall das ausgewählte Option Feld (siehe onchange="alert(this.value)".


PS: dein value-Link ist falsch, bei content fehlt das c


Code:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
    <title></title>
    
    <script type="text/javascript">
        function selectionHandler(that,index)
        {
            if (index == 1) {
                that.form.systemurl.disabled = true;
                that.form.customurl.disabled = false;
                that.form.customurl.focus();
            } else {
                that.form.customurl.disabled = true;
                that.form.systemurl.disabled = false;
                that.form.systemurl.focus();
            }
        }
        
        function selectionValueSetter(that)
        {
            if (that.searchengine[0].checked) {
                that.searchengine[0].value = that.customurl.value;
                that.searchengine[1].value = 0;
            }
            // kein else, es könnte ja nichts selektiert sein
            if (that.searchengine[1].checked) {
                that.searchengine[0].value = 0;
                that.searchengine[1].value = that.systemurl.options[that.systemurl.selectedIndex].text;
                // möchtest du statt dem http-Text die ID, statt ".text;" einfach ".value" nehmen
            }
            
            // wert des 1. radio buttons
            alert(that.searchengine[0].value);
            // wert des 2. radio buttons
            alert(that.searchengine[1].value);
        }
    </script>
</head>
<body>

<form action="" onsubmit="selectionValueSetter(this);return false">
    Suchmaschine auswählen:
    


    <input type="radio" name="searchengine" onclick="selectionHandler(this,1)" value="0" />
    <input type="text" name="customurl" value="" />
    

    
        
    <input type="radio" name="searchengine" onclick="selectionHandler(this,2)" value="0" />
    <select name="systemurl">
        <option value="1">http://www.google.de</option>
        <option value="2">http://www.fireball.de</option>
        <option value="3">http://www.altavista.de</option>
    </select>
    

    

    <input type="submit" />
</form>

</body>
</html>
(wenn das Formular am Ende abgeschickt werden soll, ersetz "return false" durch "return true")
Zergling-new ist offline   Mit Zitat antworten
Alt 26.09.2006, 00:00  
Erfahrener Benutzer
 
Registriert seit: 16.02.2006
Beiträge: 303
tinchen
Standard

Mit deiner Hilfe habe ich mir aus den obrigen und meinen Bestandteilen etwas
zusammengebastelt, mit dem ich zufrieden bin. Ich weiß nicht, ob es etwas bringt meiner Lösung zu posten. Dieses JS ist aus meiner Sicht schwieriger
als PHP, da darf ich wohl mal Nachhilfe nehmen. :wink:

Gruß
Tine
tinchen ist offline   Mit Zitat antworten
Alt 26.09.2006, 00:06  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

Du musst halt bei JavaScript in DOM denken. Alle Tags sind Objekte. Also Attribute auch ansprechbar, meist über ihren ganz normalen Namen.
Die paar Funktionen/Methoden die die Objekte manipulieren sind schnell gelernt.
Zergling-new ist offline   Mit Zitat antworten
Alt 26.09.2006, 21:34  
Erfahrener Benutzer
 
Registriert seit: 08.06.2004
Beiträge: 865
RudiS
Standard

Eine gute Übersicht dazu findest du hier: http://de.selfhtml.org/javascript/objekte/
mfg RudiS
__________________
Kunst kommt von Können und nicht von wollen, denn sonst würde es ja Wunst heißen.
RudiS ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 04:40 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.