webForumDet fria alternativet

Obligatoriskt fält och inte en javascript popup

PHPur PHP

6 svar · 756 visningar · startad av Matsakii

MatsakiiMedlem sedan mars 2005265 inlägg
#1

Jag har en kod för fakturabetalning där kunden måste skriva in sitt personnummer. Hela koden ser ut så här:

<?php $_code=$this->getMethodCode() 

 

?>
<ul class="form-list" id="payment_form_<?php echo $_code ?>" style="display:none;">
    <li>
        <label for="<?php echo $_code ?>_type" class="required"><em>*</em>Type</label>
        <div class="input-box">
		<select id="<?php echo $_code ?>_type" name="payment[type]" title="Type" class="select">
			<option value="1">Privatperson</option>
			<option value="2">Företag</option>
		</select>
        </div>
    </li>
    <li>
        <label for="<?php echo $_code ?>_ssn" class="required"><em>*</em>Personnummer</label>
        <div class="input-box">
            <input type="text" id="<?php echo $_code ?>_ssn" name="payment[ssn]" title="Personnummer" class="input-text" value="" />
        </div>
    </li>
	<li>
	Gäller enbart leveranser till folkbokföringsadress.
	</li>
</ul>

Vad som händer nu är att kunden får upp en js popup där det står:

Tyvärr kan vi inte erbjuda Dig fakturabetalning just nu. Vänligen välj ett annat betalningsalternativ.

Det är så klart fel, och det ska bara stå att fältet "Personnummer inte får vara tomt."

Hur fixar jag till det?

nitro2k01Medlem sedan aug. 20039 342 inlägg
#2

Det där är inte hela koden, bara HTML. Felet ligger nog i JS-koden. Du kanske har kopierat kod och glömt att ändra ssn till type i kontrollkoden.

MatsakiiMedlem sedan mars 2005265 inlägg
#3

Nej, av någon anledning hämtar den, den där js koden, vilket den bara ska göra om man nekas fakturabetalning. Jag vill helst ta bort den / byta ut den. Men jag vet inte vad för kod det är som "ropar" efter den felaktiga koden?

nitro2k01Medlem sedan aug. 20039 342 inlägg
#4

Dock är det ändå svårt att avgöra vad som går fel bara från den HTML-koden. Det är något i JS eller PHP som orsakar att felet faktiskt visas.

MatsakiiMedlem sedan mars 2005265 inlägg
#5

Detta är all kod i denna fil.Kan jag visa någon annan fil som kanske kan hjälpa?

nitro2k01Medlem sedan aug. 20039 342 inlägg
#6

Troligen, men eftersom jag inte är bekant med ditt betalsystem så har jag ingen aning om vilken fil det rör sig om. Prova att leta i filerna efter strängen som motsvarar felmeddelandet och se om du kan hitta ett variabelnamn. Sedan letar du efter det variabelnamnet och ser var det används. Allra bäst går det om du har något verktyg att söka med. T ex texteditor med sökfunktion som kan söka igenom en katalog, eller grep om det är en Linuxserver du kan logga in med ssh.
T ex, ställ dig i webbroten och gör följande:

grep -r -i 'Tyvärr kan vi inte erbjuda Dig fakturabetalning' .

-r står för rekursiv sökning (dvs, sök i underataloger.)
-i står för att sökningen inte gör skillnad på stor och små bokstäver.
. står för att sökningen ska utgå ifrån katalogen du står i.

MatsakiiMedlem sedan mars 2005265 inlägg
#7

Tack, jag ska testa det när jag fått sova lite. Det kanske går bättre då :)

Tack för hjälpen!

134 ms totalt · 3 externa anrop · v20260731065814-full.b2af184d
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
131 ms — hämta tråd, inlägg och bilagor (db)