Tja
Har ett litet problem här jag hoppas kommer att få löst av er som kan det bättre än jag.
Jag vill nämligen ha upp ett popup fönster när besökaren trycker på "Rösta".
<form action=poll/poll.php method=post>
Det går en hel del spekulationer angående klassfest,<br>Vill <b>Du</b> ha klassfest?<br>
<input type=radio name=vote value="Ja."> Ja<br>
<input type=radio name=vote value="Nej."> Nej<br>
<input type=radio name=vote value="Va?"> Va?<br>
<input type=submit value="Rösta" class="knapp">
</form>
Hur ska jag göra för att detta ska vara möjligt? Går ju också bra att ha popup ändast på radioknapparna. Så när man trycker i en sådan så röstar den.
Tacksam för alla svar,
mvh
Om du vill att röstningen skall resultera i ett "popup"-fönster när besökaren trycker på "Rösta" kan du göra så här:
<script type="text/javascript">
<!--
function _vote( a ){
var url = "poll/poll.php?svar=";
if( typeof( a ) == "string" )
url += a;
else {
for( var i=0, elm; ( elm = a.elements[ i ] ); i++ ){
if( elm.checked )
url += elm.value;
}
}
window.open( url, "", "height=300,width=300" );
return false;
};
//-->
</script>
...
<form onsubmit="return _vote(this)">
Det går en hel del spekulationer angående klassfest,<br>Vill <b>Du</b> ha klassfest?<br>
<input type=radio name=vote value="Ja."> Ja<br>
<input type=radio name=vote value="Nej."> Nej<br>
<input type=radio name=vote value="Va?"> Va?<br>
<input type=submit value="Rösta" class="knapp">
</form>
Om du istället vill att röstningen skall triggas när besökare trycker på någon av "radio"-knapparna kan du använda samma skript som ovan men med följande HTML-kod:
<form>
Det går en hel del spekulationer angående klassfest,<br>Vill <b>Du</b> ha klassfest?<br>
<input type=radio name=vote value="Ja." onclick="_vote('ja')"> Ja<br>
<input type=radio name=vote value="Nej." onclick="_vote('nej')"> Nej<br>
<input type=radio name=vote value="Va?" onclick="_vote('Va?')"> Va?<br>
</form>
<script type="text/javascript">
<!--
function _vote( a ){
var url = "poll/poll.php?svar=";
if( typeof( a ) == "string" )
url += a;
else {
for( var i=0, elm; ( elm = a.elements[ i ] ); i++ ){
if( elm.checked )
url += elm.value;
}
}
window.open( url, "", "height=300,width=300" );
return false;
};
//-->
</script>
Om du istället vill att röstningen skall triggas när besökare trycker på någon av "radio"-knapparna kan du använda samma skript som ovan men med följande HTML-kod:
<form>
Det går en hel del spekulationer angående klassfest,<br>Vill <b>Du</b> ha klassfest?<br>
<input type=radio name=vote value="Ja." onclick="_vote('ja')"> Ja<br>
<input type=radio name=vote value="Nej." onclick="_vote('nej')"> Nej<br>
<input type=radio name=vote value="Va?" onclick="_vote('Va?')"> Va?<br>
</form>
Jag gjorde precis så. Men det funkade inte för mig.
Kan det ha något med den här strängen att göra?
Nu är ju inte jag så familjär med PHP-syntaxen men eftersom inte formuläret skickas "på riktigt", så kan du inte använda någon specifik formulärmetod i PHP för att ta emot värdet. Istället får du möjligtvis använda reguljära uttryck eller någon strängfunktion för att plocka ut värdet.
Uhm... okay? Jag är inte så haj på php själv så jag vet inte riktigt... Jag får väl helt enkelt använda det som Jesper T skrev. Det funkade ju, men då måste man trycka på en länk INNAN man ser någon popup. Lite tråkigt.
Ett tips är att fråga i PHP-forumet hur du extraherar ett specifikt värde i en frågesträng. Eftersom det förmodligen inte är så komplicerat kommer du nog att få ett snabbt svar
Det beror på vad som t.ex. skall visas i "popup"-fönstret. Om du hade tänkt att visa den aktuella ställningen i omröstningen så bör du ju spara värdet i en databas och därefter skriva ut hur många som röstat, samt hur många det är som har röstat antingen "Ja", "Nej" eller "Va?". Men som sagt, eftersom jag inte är någon hejare på PHP så är detta en fråga för PHP-folket
260 ms totalt · 4 externa anrop · v20260731065814-full.51f67c91