FAQ |
Kalender |
![]() |
#1 | |||
|
||||
Flitig postare
|
Jag funderar lite över en funktion som jag vill göra med javascript. Jag vill göra en specialaanpassad alert / confirm ruta.
Så jag undrar bara om det finns någon möjlighet att få en function i javascript att stanna upp anropa en annan funktion och sedan fortsätta där den var i den första funktionen. Typ så här function minspecialalert() { ... skriver ut massa grejs och får användaren att klicka på antingen Ja eller Nej if(ja) { return true; }else{ return false; } } function godkan(){ if(minspecialalert) { ...gör nått }else{ ... gör nått annat } } När man anropar funktionen godkan skall den anropa "minspecialfunktion" som skapar en "alert-ruta" i HTML kod med två alternativ Ja/Nej. När man trycker på Ja så returneras true från "minspecialfunktion" annars returneras false. Så jag undrar bara om detta är möjligt eller om jag bör skrota denna idé. Jag vet att det går att göra för just denna grej, men jag vill kunna använda funktionen lite varstans. //Frej |
|||
![]() |
![]() |
![]() |
#2 | |||
|
||||
Medlem
|
Så här kan man göra:
Kod:
if (confirm("Välj ja eller nej!")) { do_ja(); } else { do_nej(); } |
|||
![]() |
![]() |
![]() |
#3 | |||
|
||||
Mycket flitig postare
|
Citat:
Kod:
function minfunction(){ if (confirm("Välj ja eller nej")){ return true; } else { return false; } } Med andra andra ord skulle jag göra som Blackex föreslog utan att ha en egen funktion för det. |
|||
![]() |
![]() |
![]() |
#4 | ||
|
|||
Medlem
|
verkar vara en parentesmiss.
if(minspecialalert) { --> if(minspecialalert()) { /Jon |
||
![]() |
![]() |
![]() |
#5 | |||
|
||||
Flitig postare
|
Alltås koden jag skrev var bara lite kod jag skrev för att visa ungefär hur jag ville, den funkar inte.
Jag vill göra min egen confirm() function, och istället för de fula windows fönstren som dyker upp så vill jag ha en snyggare variant som jag skapar med createElement("div") och denna har jag lite styles på osv. I denna div finns två knappar, Ja och Nej. När man trycker på någon av dessa skall det fungera precis som orginalfunktionen confirm() (eller om man endast har en Ok knapp så skall det fungera som funtionen alert()). |
|||
![]() |
![]() |
![]() |
#6 | |||
|
||||
Medlem
|
On du har två knappar kan du bara koppla på onclick="do_ja()" på Ja knappen och onclick="do_nej()" på nej knappen. Så här:
<input type="submit" onclick="do_ja();"> Du kan också koda så här ja_knapp.onmouseclick = function() { alert('Ditt slutgiltiga svar är Ja.') } |
|||
![]() |
![]() |
![]() |
#7 | |||
|
||||
Flitig postare
|
Blackex: Jo det vet jag, frågan var inte hur man gör det utan om det går att pausa en funktion, anropa en annan och fortsätta den första funktionen där den pausade när funktion 2 har returnerat det den ska.
|
|||
![]() |
![]() |
![]() |
#8 | |||
|
||||
Medlem
|
Citat:
![]() Hmm.. Jag tror att du måste ge en mer detaljerad beskrivning av det du försöker göra. Alla funktioner blir "pausade" när de anropar en annan funktion. Koden exekveras sekventiellt. Bortsett från settimeout() som returnerar omedelbart. |
|||
![]() |
![]() |
![]() |
#9 | |||
|
||||
Flitig postare
|
Blackex: Ok, tack, då ska jag testa göra en sådan prova lite.
Det jag vill åstadkomma är exakt samma funktion som en javascript Confirm har, men jag vill ha en egen design på mitt confirm-fönster. Den gör ju så att man inte kan göra någon annat på sidan förän man tryckt antingen ok eller cancle. |
|||
![]() |
![]() |
![]() |
#10 | |||
|
||||
Medlem
|
Då förstår jag. Jag tror (men har inte provat) att detta borde kunna lösa ditt problem.
Kod:
if(document.getElementById) { window.confirm = function(txt) { min_egen_confirm(txt); } } function min_egen_confirm(txt) { // skapa ruta med rubrik och ja/nej knappar // koppla knapparna till do_ja() och do_nej() // ta bort rutan när någon av knapparna är vald } |
|||
![]() |
![]() |
Svara |
|
|