webForumDet fria alternativet

Disable på en input.

15 svar · 504 visningar · startad av roj

rojMedlem sedan apr. 2002179 inlägg
#1

Hej jag undrar hur jag ska ta mej till om jag vill att en input ruta ska bli disabled så fort jag skriver något i en annan input ruta eller ändrar något i en annan select ruta?

JohnsenMedlem sedan juli 2000836 inlägg
#2

Exempel:

<form>
<input type="text" name="foo" onkeyup="document.forms[0].bar.disabled=(this.value!='')? true : false;"> 
<input type="text" name="bar"> 
</form>
rojMedlem sedan apr. 2002179 inlägg
#3

Funkar fint men om jag ska göra samma grej med en select ruta hur gör jag då för att trigga händelsen onkeyup funkar väll inte så bra?

JojoxxMedlem sedan juni 20004 308 inlägg
#4
<form>
<select name="foo" onChange="this.form.bar.disabled=this[this.selectedIndex].value">
<option value="">Ingenting</option>
<option value="bla bla">Någonting</option>
</select>
<input type="text" name="bar">
</form>
MengMedlem sedan feb. 2003549 inlägg
#5

Tjena hur gör man denna tvärtom då?

onchange="document.forms[0].url.disabled=(this.value!='')? true: false;"

Har med en checkbox som när den är i kryssad ska göra url fältet enabled, kod:

Direkt Link:<input type="checkbox" name="link" size="45" value="Ja" onchange="document.forms[0].url.disabled=(this.value!='')? true: false;">
Url:<input type="text" name="url" size="45
@ndersMedlem sedan juni 200032 969 inlägg
#6
Direkt Link:<input type="checkbox" name="link" size="45" value="Ja" onchange="document.forms[0].url.disabled=(this.checked)? false: true;">
Url:<input type="text" name="url" size="45" disabled="disabled">

Verkar fungera aningen bättre i Mozilla än i IE dock.

Mvh

MengMedlem sedan feb. 2003549 inlägg
#7

åfan =) tackar! :birp

MengMedlem sedan feb. 2003549 inlägg
#8

dumma är bara att den funkar inte när sidan laddas utan först när jag tryckt på och av checkboxen en gång, hur löser jag det?

MengMedlem sedan feb. 2003549 inlägg
#9

jasså missade disabled="disabled"> på den undre, tackar =)

@ndersMedlem sedan juni 200032 969 inlägg
#10

Hmm, det fungerar fint för mig...
Har du en länk till sidan?

Edit: ah, dåså. :)

MengMedlem sedan feb. 2003549 inlägg
#11

Det löste sig, går detta att göra på textarea också? tänkte att när man kommer in kan man skriva i textarea men inte "url" och tvärt om när man kryssar i "link"

@ndersMedlem sedan juni 200032 969 inlägg
#12

Om jag har förstått dig rätt:

Direkt Link:<input type="checkbox" name="link" size="45" value="Ja" onchange="if (this.checked) {document.forms[0].url.disabled = false; document.forms[0].foo.disabled = true } else { document.forms[0].url.disabled = true; document.forms[0].foo.disabled = false;}">
Url:<input type="text" name="url" size="45" disabled="disabled">
<br>
<textarea name="foo"></textarea>

Mvh

MengMedlem sedan feb. 2003549 inlägg
#13

Funkar inte

  <tr>										      
    <td><b>Direkt Link:</b></td><td><input type="checkbox" name="link" size="45" value="Ja"  onchange="if (this.checked) {document.forms[0].url.disabled = false; document.forms[0].foo.disabled = true } else { document.forms[0].url.disabled = true; document.forms[0].WGSGYSIDA.disabled = false;}"></td>
  </tr>
  <tr>										      
    <td><b>Url:</b></td><td><input type="text" name="url" size="45" disabled="disabled"></td>
  </tr>
  <tr>
    <td width="150" valign="top">
	<table cellspacing="0" cellpadding="0" height="100" width="100%">
		<tr>
		 <td valign="top" height="50%">
			<b>Nyhed:</b>
		 </td>
		</tr>
		<tr>
		 <td valign="bottom" height="50%">
			<input type="Submit" name="andra" value="Gem">
		 </td>
		</tr>
	</table>
   </td>
   <td>
    <textarea cols="80" rows="10" name="WGSGYSIDA">
    </textarea>
   </td>
  </tr>

Kan det bero på att jag redan kör detta scriptet?

<script language="Javascript1.2">

<!-- // load htmlarea
_editor_url = "";                     // URL to htmlarea files
var win_ie_ver = parseFloat(navigator.appVersion.split("MSIE")[1]);
if (navigator.userAgent.indexOf('Mac')        >= 0) { win_ie_ver = 0; }
if (navigator.userAgent.indexOf('Windows CE') >= 0) { win_ie_ver = 0; }
if (navigator.userAgent.indexOf('Opera')      >= 0) { win_ie_ver = 0; }
if (win_ie_ver >= 5.5) {
  document.write('<scr' + 'ipt src="' +_editor_url+ 'editor.js"');
  document.write(' language="Javascript1.2"></scr' + 'ipt>');  
} else { document.write('<scr'+'ipt>function editor_generate() { return false; }</scr'+'ipt>'); }
// --></script>

Edit: Såg att jag missat att byta ut en "foo" men det gjorde ingen skillnad när jag bytte denna, WGSGYSIDA funkar fortfarande när jag kryssar i "link"

@ndersMedlem sedan juni 200032 969 inlägg
#14

Kan det bero på att jag redan kör detta scriptet?

Tja... Fungerar det om du inte kör det scriptet?

Har du en länk till sidan?

MengMedlem sedan feb. 2003549 inlägg
#15

Nä sidan ligger på en intern server.. =/ håller nämligen på med ett intranet.

Vet inte om jag vågar börja pilla med det WGSGY scriptet igen, hade nämligen kolosala problem med det när jag skulle lägga in det. Egentligen spelar det ingen roll att de fortfarande kan använda textarea fältet längre, bara det att det de skriver där inte används när man väljer "direkt link". Det får vara så här istället, spelar ingen roll, huvudsaken är att url inte funkar när det inte är i kryssat.

Tack för hjälpen @nders :birp

Erik JuhlinMedlem sedan maj 200010 687 inlägg
#16

Tycker att det är lite lustig kod här så jag tänkte bara tipsa om ett smartare sätt att skriva.

<form>
<input type="text" name="foo" onkeyup="this.form.bar.disabled = (this.value != '');">
<input type="text" name="bar">
</form>

Helt onödigt med en if-sats där.

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