Ajax-Problem

Trotz automatischer Installation noch Fragen? Hier werden Sie beantwortet!
Benutzeravatar
dtm
Beiträge: 22
Registriert: 5. Jul 2016, 15:22

Ajax-Problem

Beitrag von dtm »

Hallo und guten Tag,


Sie schreiben an anderer Stelle jemand anderem:
supportteam2 hat geschrieben: 4. Eine weitere Sache, die uns aufgefallen ist
Bei der Auswahl der Zahlungs- und Versandoption ist dank einer Javascript-Funktion, die Merconis von Haus aus mitbringt, ein explizites Klicken auf "Zahlungsoption wählen" bzw. "Versandoption wählen" eigentlich nicht nötig. Da bei Ihnen an dieser Stelle wohl eine kleine Template-Änderung vorliegt, lief ein Selector bei der Initialisierung dieser Javascript-Funktion ins leere, sodass diese Javascript-Funktion nicht funktionierte. Wir haben deshalb den Initialisierungsaufruf in der app.js korrigiert.
Ich scheine das gleiche Problem zu haben, oder zumindest einen sehr ähnlichen Effekt. Zahlungs- und Versandoptionen werden nicht so schön automatisch gespeichert wie in der Demo, sondern ich muss explizit auf die Buttons klicken. Könnten Sie vielleicht obige Lösung etwas genauer ausführen?
Benutzeravatar
supportteam2
Beiträge: 427
Registriert: 4. Mär 2015, 14:05

Re: Ajax-Problem

Beitrag von supportteam2 »

Hallo,

wenn Sie Merconis 3 verwenden, dann gibt es bei Ihnen eine Datei "files/merconisfiles/themes/themeX/lsjs/app/app.js", in der Sie folgenden Code finden sollten:

Code: Alles auswählen

	lsjs.__moduleHelpers.paymentAndShippingForm.start({
		'str_elementToHideSelector': '.shippingMethods .submitBox',
		'str_submitButtonSelector': '.shippingMethods .submitBox input.submit',
		'str_optionFieldSelector': '.shippingMethods .methodSelect input.radio',
		'str_selectorForWaitingOverlayParentElement': 'body'
	});
	
	lsjs.__moduleHelpers.paymentAndShippingForm.start({
		'str_elementToHideSelector': '.paymentMethods .submitBox',
		'str_submitButtonSelector': '.paymentMethods .submitBox input.submit',
		'str_optionFieldSelector': '.paymentMethods .methodSelect input.radio',
		'str_selectorForWaitingOverlayParentElement': 'body'
	});
Sollten die hier angegebenen Selektoren aufgrund von Templateänderungen nicht mehr passen, müssen Sie an dieser Stelle eine entsprechende Änderung vornehmen, damit die Javascript-Lösung funktionieren kann.
Benutzeravatar
dtm
Beiträge: 22
Registriert: 5. Jul 2016, 15:22

Re: Ajax-Problem

Beitrag von dtm »

Ich kann nichts auffälliges finden. Die Datei ist vorhanden, sieht aus wie sie sollte.

Auf der Seite sieht es für meine laienhaften Augen auch gut aus. Wenn Sie vielleicht mal schauen mögen ...

Code: Alles auswählen

<div id="shipping" class="shipping">
					<div class="shippingMethods">
					
								<form id="formShippingMethod_radio" class="formShippingMethod formShippingMethod_radio" action="warenkorb.html?step=shippingSelection#shipping" method="post">
				<div>
					<input type="hidden" name="REQUEST_TOKEN" value="68a33534085af1fe18fe6fbfd5fb6897" />
					
<input type="hidden" name="FORM_SUBMIT" value="formShippingMethod_radio">
					<div class="methodSelect">
						

  <div class="widget widget-radio  form-row">
        
      <fieldset id="ctrl_fflSelectShippingMethod" class="radio_container">

    
    
        			<span id="pickupByCustomer" class="paymentAndShippingOptionContainer">
			<input type="radio" name="fflSelectShippingMethod" id="opt_fflSelectShippingMethod_0" class="radio" value="1" required />
			<label id="lbl_fflSelectShippingMethod_0" for="opt_fflSelectShippingMethod_0">
				<span class="title">Selbstabholung (0,00 €)</span>
				<span class="description">At melius scripserit theophrastus sed. Te sit timeam salutatus efficiantur. Mea adhuc autem ullum te, id graeco percipitur honestatis sed. No accusata eleifend nam, cu ius amet tota quas.</span>
			</label>
		</span>
        			<span id="dhl" class="paymentAndShippingOptionContainer">
			<input type="radio" name="fflSelectShippingMethod" id="opt_fflSelectShippingMethod_1" class="radio" value="2" checked required />
			<label id="lbl_fflSelectShippingMethod_1" for="opt_fflSelectShippingMethod_1">
				<span class="title">DHL (5,80 €)</span>
				<span class="description">Vel legere vituperatoribus at, mei debet commune corrumpit et. Ex veniam tamquam vim, ne duo discere delectus suscipiantur. Commune intellegam vel ei, stet illud bonorum has ne.</span>
			</label>
		</span>
    
  </fieldset>

    </div>

					</div>
					<div class="submitBox">
						
  <div class="submit_container confirmShippingMethod">
    	<button type="submit" id="ctrl_confirmShippingMethod" class="submit confirmShippingMethod" name="submit">Versandoption wählen</button>
  </div>

					</div>
				</div>
			</form>
						</div>
												<div class="strong price shippingFee shippingFeeLabel">
						<p>Versand per DHL: 5,80 €</p>
					</div>
				</div>

	<div class="submitBox borderless">
					<a class="button continueCheckout" href="warenkorb.html?step=paymentSelection">Weiter</a>
			</div>
	</div>
</div>
Benutzeravatar
supportteam2
Beiträge: 427
Registriert: 4. Mär 2015, 14:05

Re: Ajax-Problem

Beitrag von supportteam2 »

Hallo,

als Submit-Button-Selektor ist im Javascript folgendes angegeben: '.shippingMethods .submitBox input.submit'

Im von Ihnen bereitgestellten HTML-Code kann man sehen, dass der Button nicht als HTML-Element vom Typ "input" sondern vom Typ "button" vorliegt. Der Selektor muss im Javascript-Teil entsprechend angepasst werden.
Benutzeravatar
dtm
Beiträge: 22
Registriert: 5. Jul 2016, 15:22

Re: Ajax-Problem

Beitrag von dtm »

Aha. Heißt das, ich müsste in der app.js aus

'.shippingMethods .submitBox input.submit'

folgendes machen:

'.shippingMethods .submitBox button.submit'

und aus:

'.paymentMethods .submitBox input.submit'

folgendes:

'.paymentMethods .submitBox button.submit',

?
Benutzeravatar
supportteam2
Beiträge: 427
Registriert: 4. Mär 2015, 14:05

Re: Ajax-Problem

Beitrag von supportteam2 »

Ja, das sieht richtig aus. In der Annahme, dass nicht noch ein weiteres Problem vorliegt, das ich vorhin übersehen habe, sollte es mit dieser Änderung funktionieren!
Benutzeravatar
dtm
Beiträge: 22
Registriert: 5. Jul 2016, 15:22

Re: Ajax-Problem

Beitrag von dtm »

Och ... schade. Keine Änderung ... möglicherweise noch ein weiteres Problem.

So sieht das jetzt aus:

Code: Alles auswählen

			lsjs.__moduleHelpers.paymentAndShippingForm.start({
				'str_elementToHideSelector': '.shippingMethods .submitBox',
				'str_submitButtonSelector': '.shippingMethods .submitBox button.submit',
				'str_optionFieldSelector': '.shippingMethods .methodSelect input.radio',
				'str_selectorForWaitingOverlayParentElement': 'body'
			});
			
			lsjs.__moduleHelpers.paymentAndShippingForm.start({
				'str_elementToHideSelector': '.paymentMethods .submitBox',
				'str_submitButtonSelector': '.paymentMethods .submitBox button.submit',
				'str_optionFieldSelector': '.paymentMethods .methodSelect input.radio',
				'str_selectorForWaitingOverlayParentElement': 'body'
			});
			
Und hier könnte man sich das ansehen:

http://dev.tpc-express.de/warenkorb.htm ... tSelection
Benutzeravatar
supportteam2
Beiträge: 427
Registriert: 4. Mär 2015, 14:05

Re: Ajax-Problem

Beitrag von supportteam2 »

Ich habe das gerade getestet und bin der Meinung, dass es funktioniert. Es geht doch darum, dass durch Klick auf die Option "DHL" oder "Selbstabholung" das Formular automatisch bestätigt wird, ohne dass hierfür noch ein weiterer Klick auf einen Submit-Button benötigt wird, richtig? So hat es sich bei meinem Test gerade verhalten.

Oder habe ich evtl. falsch verstanden, was das Problem ist?
Benutzeravatar
dtm
Beiträge: 22
Registriert: 5. Jul 2016, 15:22

Re: Ajax-Problem

Beitrag von dtm »

Och ... wie ärgerlich.

Doch, das Problem wurde richtig verstanden. Ich aber muss nach Auswahl einer Option "Zahlungsoption wählen" klicken und dann erscheint ein Schriftbalken "Ihre gewählte Zahlungsoption wurde gespeichert".

Ich probiere nochmal mit anderen Browsern und Cache-löschen und so. Danke erstmal für die Hilfe!
Benutzeravatar
dtm
Beiträge: 22
Registriert: 5. Jul 2016, 15:22

Re: Ajax-Problem

Beitrag von dtm »

Ja, toll ... mit Google Chrome klappt es jetzt. Dann ist es womöglich ein Cache-Problem oder so. Aber technisch scheint es ja zu wuppen.

Ich werde dem Problem weiter nachgehen ... aber Merconis-seitig scheint es mir vorerst vom Tisch zu sein.

Nochmals vielen Dank!
Antworten

Zurück zu „Installation“