Avatar billede nidyahou Praktikant
11. oktober 2005 - 22:09 Der er 25 kommentarer og
1 løsning

Form funktioner

vordan skal mit script se ud hvis jeg vil have et felt til at være henholdsvis enabled hvis checkbozxen ikke er checket og disabled hvis den er checket... har prøvet med :

<script language="JavaScript">
function Writer() {
if (document.Quote.checkbox.checked==true) {
document.Writer.disabled)
}
</script>

helt?
Avatar billede softspot Forsker
11. oktober 2005 - 22:14 #1
Quick and dirty:

<form>
  <input type="checkbox" name="Check" onclick="this.form.Writer.disabled==this.checked;">
  <input type="text" name="Writer">
</form>
Avatar billede roenving Novice
11. oktober 2005 - 22:16 #2
-- men jeg ville ( à propos dine tidligere bemærkninger om kompatibilitet og skalabilitet:

<script type="text/javascript">
function enableDisableElm(elm){
  elm.form.email.disabled = !elm.checked;
}
</script>

<form>
Skriv selv mail-adresse: <input type="checkbox" onclick="enableDisableElm(this)"><br>
Mail: <input type="text" name="email" value="a@b.cd" disabled>
</form>
Avatar billede softspot Forsker
11. oktober 2005 - 22:20 #3
Ja, klart nok! ;-)
Avatar billede nidyahou Praktikant
11. oktober 2005 - 22:30 #4
åbenbart er jeg notorisk mongol til at tilpasse, da jeg ikke kan få det til at virke, hvad er der mon galt med dette?

<form method="post" name="Quote" action="Write.asp" OnSubmit="return Check()">
Quote:<br>
<textarea name="quote" maxlength="200" cols="50" rows="3"></textarea><br>
Writer:<br>
Me
<input type="checkbox" name="checkbox" checked onClicke="enableDisableElm(this)"><br>
Other > <input type="textfield" name="writer" disabled>
<input type="submit" value="Post">
</form>
<script type="text/javascript">
function enableDisableElm(elm){
  elm.Quote.writer.disabled = !elm.checked;
}
</script>
<script language="JavaScript">
function Check() {
    if (document.Quote.quote.value == "") {
        alert("Please write your quote");
        return false;
    }
    if (document.Quote.quote.value.length >> 200) {
      alert("Your Quote is too loong, maximum length is 200 charachters");
      return false;
}
</script>
Avatar billede roenving Novice
11. oktober 2005 - 22:35 #5
form er en speciel property på form-elementer, som henviser til formen

  elm.form.writer.disabled = !elm.checked;

-- så det må _ikke_ erstattes !-)

-- desuden har du en tavetosse i onclick:

<input type="checkbox" name="checkbox" checked onclick="enableDisableElm(this)"><br>

-- jeg opfattter selv det store C i onclick som en fejl, men det vil kun i xhtml (som jo ikke findes i en brugbar udgave d.d. !-) give fejl eller malfunktion !o]
Avatar billede softspot Forsker
11. oktober 2005 - 22:35 #6
<form method="post" action="Write.asp" OnSubmit="return Check(this)">
  Quote:<br>
  <textarea name="quote" maxlength="200" cols="50" rows="3"></textarea><br>
  Writer:<br>
  Me
  <input type="checkbox" name="checkbox" checked onclick="enableDisableElm(this)"><br>
  Other >
  <input type="textfield" name="writer" disabled>
  <input type="submit" value="Post">
</form>

<script type="text/javascript">
function enableDisableElm(elm){
  elm.form.writer.disabled = !elm.checked;
}

function Check(frm) {
  if (frm.quote.value == "") {
    alert("Please write your quote");
    return false;
  }
  if (frm.quote.value.length > 200) {
    alert("Your Quote is too loong, maximum length is 200 charachters");
    return false;
  }
  return true;
}
</script>
Avatar billede nidyahou Praktikant
11. oktober 2005 - 22:43 #7
er det bevidst at der står frm - istedet for "form"??
Avatar billede roenving Novice
11. oktober 2005 - 22:44 #8
I softspots eksempel checker den formen, og den overføres som parameter fra onsubmit-eventet som objekt, så ja, det er med vilje !-)
Avatar billede softspot Forsker
11. oktober 2005 - 22:45 #9
Ja, tanken var at du overførte form-objektet selv i onsubmit, hvilket så vil betyde at funktionen bliver mere generisk. Om det er nødvendigt kan man diskutere, men hvis det ikke kostere mere at gøre den generisk, så kan man vel ligeså godt gøre det... :)
Avatar billede nidyahou Praktikant
11. oktober 2005 - 22:47 #10
hvis jeg Copy/paster softspots ellers nydelige kode fungerer det desværre ikke, hvorfor?
Avatar billede roenving Novice
11. oktober 2005 - 22:47 #11
-- og jeg vil absolut anbefale, at man gør det på den måde, da det sparer en h****** masse problemer !-)
Avatar billede nidyahou Praktikant
11. oktober 2005 - 22:50 #12
jeg er eklatant mongol til javascript, beklager... Hvis det forventes at der bliver smidt flere point af pga. de uforudsete komplikationer gør jeg det med glæde...
Avatar billede softspot Forsker
11. oktober 2005 - 22:51 #13
Du skal ikke smide flere point for min skyld :)
Avatar billede softspot Forsker
11. oktober 2005 - 22:52 #14
Hvad sker der (eller sker der ikke) når du klikker på checkboksen hhv. submitter formularen?
Avatar billede softspot Forsker
11. oktober 2005 - 22:54 #15
Jeg er faktisk ikke helt klar over om dette felt vil blive ignoreret eller om den bare vil opfatte det som default-type (text):

<input type="textfield" name="writer" disabled>

men det bør vel være

<input type="text" name="writer" disabled>
Avatar billede roenving Novice
11. oktober 2005 - 22:56 #16
-- det vil i de browsere, jeg nogensinde har kigget i, blive opfattet som default-typen text-field (testede det faktisk tidligere idag i dem, jeg har liggende !-)
Avatar billede nidyahou Praktikant
11. oktober 2005 - 22:59 #17
hmmm... det vil godt nu, det fungerer bare omvendt, men det er jo ikke noget videre problem... Drop svar gentlemen :)
Avatar billede softspot Forsker
11. oktober 2005 - 23:10 #18
Et svar fra moi... :)

roenving >> hvilke browsere tester du i når du koder websider?
Avatar billede roenving Novice
11. oktober 2005 - 23:15 #19
Normalt (jeg er på pc !-) IE6sp2, Moz 1.5, FF 1.0.7 og Opera 8.02 !o]

-- men FireFox er jo opdateret i dag, mens Mozillaen er en version, som er 14 måneder gammel ...
Avatar billede softspot Forsker
11. oktober 2005 - 23:20 #20
OK, så det er ikke sådan at du har en masse gamle versioner liggende som du også tester på...

Kan man forlade sig på, at hvis man tester på IE6sp2, Moz 1.3, FF 1.0, NS 7.2 og Opera 7.54, at det så også vil fungere på de nyere versioner?
Avatar billede nidyahou Praktikant
11. oktober 2005 - 23:23 #21
´jeg går ud fra at roenving gerne vil give pointene til softspot - ellers tror jeg i er i stand til at finde ud af det selv
Avatar billede roenving Novice
11. oktober 2005 - 23:25 #22
Stort set, men der er desværre nogle situationer, hvor nogle funktioner og/eller properties er vendt om, fordi renderingsmaskinen har fået implementeret en 'ordentlig' fortolkning, og f.eks. med Geckoen er det altså sket et par gange !-)

Gecko er den renderingsmaskine, der bruges i NN6+, Mozilla, Firefox, Camino m.m.
Avatar billede softspot Forsker
11. oktober 2005 - 23:31 #23
nidyahou >> Tak for point :)

roenving >> Tak for deling af din browserviden. Vil du have nogle af disse nyerhvevede point...?
Avatar billede softspot Forsker
11. oktober 2005 - 23:32 #24
OK, det er altså også et svært ord: nyerhvevede, så det er vel ok at man får to forsøg... nyerhvervede
Avatar billede roenving Novice
11. oktober 2005 - 23:38 #25
Jeg tror ligesom jeg klarer mig !-)

-- du ser jo også ud til at være nærmere til at skulle have opbrugt din ration, for du kan kun stille 1100 200-point spørgsmål før din konto er tom !o]
Avatar billede softspot Forsker
11. oktober 2005 - 23:43 #26
*LOL* - Ja, man skal passe på man ikke bruger for mange point... man får jo kun 5 nye om dagen.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester