ERLEDIGT
NEIN
NEIN
ANTWORTEN
1
1
ZUGRIFFE
985
985
EMPFEHLEN
-
16.07.10 16:25 #1
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):
Darunter der entsprechende Javascript-Code.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>
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
-
Moin Matthias,
das ist etwas ungenau beschrieben dort,damit ist sicher nicht der value des Formularfeldes gemeint, sondern die Position des Sliders(wird also bei jeder Verschiebung aufgerufen).when a value is changed
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
-
VB6 - Auswahlmenü?
Von kingkicker8 im Forum Visual Basic 6.0Antworten: 6Letzter Beitrag: 04.07.07, 12:20 -
Frage für AGB auswahlmenü
Von mama123 im Forum Javascript & AjaxAntworten: 9Letzter Beitrag: 27.03.07, 19:14 -
Auswahlmenü
Von a400 im Forum C/C++Antworten: 1Letzter Beitrag: 18.05.05, 14:59 -
Auswahlmenü
Von Bananagogo im Forum Javascript & AjaxAntworten: 1Letzter Beitrag: 19.10.03, 22:52 -
Auswahlmenü
Von Double M im Forum Flash PlattformAntworten: 1Letzter Beitrag: 26.10.02, 18:14





Zitieren
Login





