Kom ihåg mig?
Home Menu

Menu


Javascript

Ämnesverktyg Visningsalternativ
Oläst 2006-07-03, 15:56 #1
Frejs avatar
Frej Frej är inte uppkopplad
Flitig postare
 
Reg.datum: Jul 2004
Inlägg: 463
Frej Frej är inte uppkopplad
Flitig postare
Frejs avatar
 
Reg.datum: Jul 2004
Inlägg: 463
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
Frej är inte uppkopplad   Svara med citatSvara med citat
Oläst 2006-07-03, 19:50 #2
Blackexs avatar
Blackex Blackex är inte uppkopplad
Medlem
 
Reg.datum: Jun 2006
Inlägg: 238
Blackex Blackex är inte uppkopplad
Medlem
Blackexs avatar
 
Reg.datum: Jun 2006
Inlägg: 238
Så här kan man göra:

Kod:
if (confirm("Välj ja eller nej!")) {
 do_ja();
} else {
 do_nej();
}
Blackex är inte uppkopplad   Svara med citatSvara med citat
Oläst 2006-07-03, 21:24 #3
zorans avatar
zoran zoran är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Jun 2004
Inlägg: 598
zoran zoran är inte uppkopplad
Mycket flitig postare
zorans avatar
 
Reg.datum: Jun 2004
Inlägg: 598
Citat:
Originally posted by Blackex@Jul 3 2006, 19:50
Så här kan man göra:

Kod:
if (confirm("Välj ja eller nej!")) {
 do_ja();
} else {
 do_nej();
}
Och för att ytterliggare förenkla för urinläggsförfattaren, resultatet Frej vill ha är:

Kod:
function minfunction(){
  if (confirm("Välj ja eller nej")){
   return true;
  } else { 
   return false;
  }
}
Fast, jag kan inte riktigt förstå varför han vill ha sån funktion öht. Meningen är väl att man ska minska ner kodmängden och inte skapa massa kod i onödan.

Med andra andra ord skulle jag göra som Blackex föreslog utan att ha en egen funktion för det.
zoran är inte uppkopplad   Svara med citatSvara med citat
Oläst 2006-07-03, 21:28 #4
jon jon är inte uppkopplad
Medlem
 
Reg.datum: Jul 2005
Inlägg: 84
jon jon är inte uppkopplad
Medlem
 
Reg.datum: Jul 2005
Inlägg: 84
verkar vara en parentesmiss.
if(minspecialalert) {
--> if(minspecialalert()) {

/Jon
jon är inte uppkopplad   Svara med citatSvara med citat
Oläst 2006-07-04, 11:11 #5
Frejs avatar
Frej Frej är inte uppkopplad
Flitig postare
 
Reg.datum: Jul 2004
Inlägg: 463
Frej Frej är inte uppkopplad
Flitig postare
Frejs avatar
 
Reg.datum: Jul 2004
Inlägg: 463
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()).
Frej är inte uppkopplad   Svara med citatSvara med citat
Oläst 2006-07-04, 11:23 #6
Blackexs avatar
Blackex Blackex är inte uppkopplad
Medlem
 
Reg.datum: Jun 2006
Inlägg: 238
Blackex Blackex är inte uppkopplad
Medlem
Blackexs avatar
 
Reg.datum: Jun 2006
Inlägg: 238
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.') }
Blackex är inte uppkopplad   Svara med citatSvara med citat
Oläst 2006-07-04, 12:38 #7
Frejs avatar
Frej Frej är inte uppkopplad
Flitig postare
 
Reg.datum: Jul 2004
Inlägg: 463
Frej Frej är inte uppkopplad
Flitig postare
Frejs avatar
 
Reg.datum: Jul 2004
Inlägg: 463
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.
Frej är inte uppkopplad   Svara med citatSvara med citat
Oläst 2006-07-04, 12:52 #8
Blackexs avatar
Blackex Blackex är inte uppkopplad
Medlem
 
Reg.datum: Jun 2006
Inlägg: 238
Blackex Blackex är inte uppkopplad
Medlem
Blackexs avatar
 
Reg.datum: Jun 2006
Inlägg: 238
Citat:
Originally posted by Frej@Jul 4 2006, 12:38
frågan var inte hur man gör det utan om det går
Ja, det borde gå.

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.
Blackex är inte uppkopplad   Svara med citatSvara med citat
Oläst 2006-07-04, 13:00 #9
Frejs avatar
Frej Frej är inte uppkopplad
Flitig postare
 
Reg.datum: Jul 2004
Inlägg: 463
Frej Frej är inte uppkopplad
Flitig postare
Frejs avatar
 
Reg.datum: Jul 2004
Inlägg: 463
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.
Frej är inte uppkopplad   Svara med citatSvara med citat
Oläst 2006-07-04, 13:09 #10
Blackexs avatar
Blackex Blackex är inte uppkopplad
Medlem
 
Reg.datum: Jun 2006
Inlägg: 238
Blackex Blackex är inte uppkopplad
Medlem
Blackexs avatar
 
Reg.datum: Jun 2006
Inlägg: 238
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
}
Edit: Varför kolla document.getElementById? Jo, den funktionen gör det lätt för dig att hantera dina olika objekt. Om funktionen saknas (som i gamla webbläsare) så kommer en vanlig confirm ruta att dyka upp. Koden blir därför automatiskt bakåtkompatibel!
Blackex är inte uppkopplad   Svara med citatSvara med citat
Svara


Aktiva användare som för närvarande tittar på det här ämnet: 1 (0 medlemmar och 1 gäster)
 

Regler för att posta
Du får inte posta nya ämnen
Du får inte posta svar
Du får inte posta bifogade filer
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG]-kod är
HTML-kod är av

Forumhopp


Alla tider är GMT +2. Klockan är nu 10:43.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson
 
Copyright © 2017