tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
1
ZUGRIFFE
985
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Avatar von matthiasschnueriger
    matthiasschnueriger matthiasschnueriger ist offline Mitglied Gold
    Registriert seit
    Jun 2004
    Beiträge
    182
    Aloha!

    Ich habe auf dhtmlgoodies.com folgendes Script gefunden: Link
    Damit lässt sich wunderbar ein Schieberegler erstellen. Ich bin jetzt dran, diesen für meine Zwecke anzupassen.

    Mein aktuelles HTML-Gerüst (regler.php):
    HTML-Code:
    <form action="regler2.php" method="post" name="regler">
    	<table>
    		<tr>
    			<td width="100">Saison:</td>			
    			<td id="slider_target"></td>
    			<td><input type="hidden" name="season" size="3" value="2" onkeyup="document.regler.submit()"></td>
    			<td></td>
    			<td rowspan="3" id="colorPreview" width="100"></td>
    		</tr>
    		<tr>
    			<td width="100">Typ:</td>	
    			<td id="slider_target2"></td>
    			<td><input type="hidden" name="activepassive" size="3" value="2" onkeyup="document.regler.submit()"></td>		
    			<td></td>	
    		</tr>
    		<tr>
    			<td width="100">Indoor/Outdoor</td>	
    			<td id="slider_target3"></td>
    			<td><input type="hidden" name="inout" size="3" value="2" onkeyup="document.regler.submit()"></td>	
    			<td></td>		
    		</tr>
    	</table>		
    </form>
    Darunter der entsprechende Javascript-Code.
    Code :
    1
    2
    3
    4
    5
    6
    7
    
    <script type="text/javascript">
    // Javascript for example 1
    form_widget_amount_slider('slider_target',document.regler.season,200,1,3,"document.regler.submit()");
    form_widget_amount_slider('slider_target2',document.regler.activepassive,200,1,4,"document.regler.submit()");
    form_widget_amount_slider('slider_target3',document.regler.inout,200,1,3,"document.regler.submit()");
     
    </script>

    Beim Event "onchange" (also wenn der Wert im jeweiligen Input-Feld ändert), soll das Formular an regler2.php gesendet werden, wo dann die entsprechenden input-values per PHP eingelesen werden.

    Das Problem ist jedoch, dass der Slider nicht bis zum entsprechenden "onchange" wartet, sondern beim kleinsten Schiebevorgang das Formular absendet.

    Ich gehe davon aus, dass dies in der mitgelieferten Javascript-Datei (dhtmlgoodies_slider.js) geregelt wird. Da heisst es z.B.

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    
    function startMoveSlider(e)
    {
        if(document.all)e = event;
        if(!slideInProgress)return;
        var leftPos = handle_start_x/1 + e.clientX/1 - event_start_x;
        if(leftPos<0)leftPos = 0;
        if(leftPos/1>sliderObjectArray[currentSliderIndex]['width'])leftPos = sliderObjectArray[currentSliderIndex]['width'];
        document.getElementById('slider_handle' + currentSliderIndex).style.left = leftPos + 'px';
        adjustFormValue(currentSliderIndex);
        if(sliderObjectArray[currentSliderIndex]['onchangeAction']){
            eval(sliderObjectArray[currentSliderIndex]['onchangeAction']);
        }

    Ich rate jetzt mal, dass hier drin steht, dass sich der Slider bei jeder Pixelabweichung bewegen soll, richtig?
    Folgefrage: Wie kann ich den Slider weniger "anfällig" machen? Kan ich z.B. auch sagen, dass es nur 3 oder 4 Abstufungen gibt oder der Slider dann auf die eine oder andere Seite "fällt"?

    Falls das alles etwas viel ist, entschuldige ich mich bereits jetzt. Ich freue mich natürlich auch über die Hilfe von Teilproblemen
     

  2. #2
    Avatar von Sven Mintel
    Sven Mintel Sven Mintel ist offline Mitglied
    Registriert seit
    Aug 2003
    Beiträge
    18.238
    Blog-Einträge
    6
    Moin Matthias,

    das ist etwas ungenau beschrieben dort,
    when a value is changed
    damit ist sicher nicht der value des Formularfeldes gemeint, sondern die Position des Sliders(wird also bei jeder Verschiebung aufgerufen).

    Lösung: speichere den Wert des Inputs irgendwo zwischen, und prüfe bei jedem Aufruf der onchange-Funktion an deren Ende, ob sich der value des Inputs geändert hat(falls ja, sende halt den Request)
     

Ähnliche Themen

  1. VB6 - Auswahlmenü?
    Von kingkicker8 im Forum Visual Basic 6.0
    Antworten: 6
    Letzter Beitrag: 04.07.07, 12:20
  2. Frage für AGB auswahlmenü
    Von mama123 im Forum Javascript & Ajax
    Antworten: 9
    Letzter Beitrag: 27.03.07, 19:14
  3. Auswahlmenü
    Von a400 im Forum C/C++
    Antworten: 1
    Letzter Beitrag: 18.05.05, 14:59
  4. Auswahlmenü
    Von Bananagogo im Forum Javascript & Ajax
    Antworten: 1
    Letzter Beitrag: 19.10.03, 22:52
  5. Auswahlmenü
    Von Double M im Forum Flash Plattform
    Antworten: 1
    Letzter Beitrag: 26.10.02, 18:14