webForumDet fria alternativet

disabla lite olika fält

JavaScript

4 svar · 350 visningar · startad av Hulth

Medlem sedan juni 2001272 inlägg
Frågan#1

Håller på och leker med ett litet asp-script för att hålla koll på mina filmer, och i formuläret där jag registrerar dessa vill jag styra över lite olika fält som ska vara disablade och inte vara det.

Det är alltså inte ASP-bitarna som inte fungerar, låter bara all kod vara med så alla kan få en överblick.

Har fått en del att funka (den med ny release) efter att ha sökt runt lite här, men skulle samtidigt vilja ändra bakgrundsfärgen på select-rutan samt flytta fokus till release_ny när man kryssar i checkboxen ny_release.

Den andra disabled som jag inte alls får att fungera är med radio-knapparna lite längre ner. När "Ja" är valt ska fälten blad och plats vara aktiverade, när "Nej" är valt ska fälten blad och plats vara inaktiverade samt ändrad bakgrundsfärg.

Men jag får det inte att fungera...

Så om nån sitter inne med en kodsnutt eller ledtrådar eller liknande får ni gärna dela med er av dom här. Nog snackat, här kommer lite kod :)

<%
	Set Connect = Server.CreateObject("ADODB.Connection")
	Connect.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\customers\filmer\filmer.mdb"
	Set ReCSet = Server.CreateObject("ADODB.RecordSet")
%>
<html>
<head>
<title>Filmer - Registrera film</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script language="JavaScript" type="text/javascript">
function checkchecked1(){
if(document.getElementById('ny_release').checked)
document.getElementById('release').disabled = 'disabled';
else
document.getElementById('release').disabled = '';
}

function checkchecked2(){
if(document.getElementById('ny_release').checked)
document.getElementById('release_ny').disabled = '';
else
document.getElementById('release_ny').disabled = 'disabled';
}

function disablebladplats(){
document.GetElementByID('blad').disabled = 'disabled';
document.GetElementByID('plats').disabled = 'disabled';
}

function enablebladplats(){
document.GetElementByID('blad').disabled = '';
document.GetElementByID('plats').disabled = '';
}

</script>

</head>

<body bgcolor="#003366" text="#CCCCCC" link="#CCCCCC" vlink="#CCCCCC" alink="#CCCCCC" onLoad="document.register.film.focus()">
<form action="submit.asp" method="post" name="register" id="register">
<table width="1024" border="0" align="center" cellpadding="2" cellspacing="2">
  <tr>
    <td width="136"><font size="1" face="Verdana, Arial, Helvetica, sans-serif">Film</font></td>
    <td width="550">
      <input name="film" type="text" id="film" size="60">
    </td>
  </tr>
  <tr>
    <td><font size="1" face="Verdana, Arial, Helvetica, sans-serif">Releasenamn</font></td>
    <td><%
	strSQL = "SELECT * FROM Releaser ORDER BY Releasenamn"
	RecSet.Open strSQl, Connect, AdOpenDynamic

	If RecSet.EOF Then
		Response.Write "<select name=""release"" disabled><option>Hittar inga Releaser</option></select>"
	Else
		Response.Write "<select name=""release"" id=""release"" size=""3"">"
		Do Until RecSet.EOF
			Response.Write "<option value=""" & RecSet("ID") & """>" & RecSet("Releasenamn") & "</option>"
			RecSet.MoveNext
		Loop
		Response.Write "</select>"
	End If
	RecSet.Close
	%></td>
  </tr>
  <tr>
    <td>&nbsp;</td>
    <td><font size="1" face="Verdana, Arial, Helvetica, sans-serif">
      <input name="ny_release" type="checkbox" id="ny_release" value="1" onclick="checkchecked1();checkchecked2()">
      L&auml;gg till ny release<br>
      <input name="release_ny" type="text" id="release_ny" size="60" disabled="disabled">
    </font></td>
  </tr>
  <tr>
    <td><font size="1" face="Verdana, Arial, Helvetica, sans-serif">Skiva X av Y</font></td>
    <td><input name="skiva" type="text" id="skiva" size="2" maxlength="2"></td>
  </tr>
  <tr>
    <td><font size="1" face="Verdana, Arial, Helvetica, sans-serif">Utbr&auml;nd</font></td>
    <td><font size="1" face="Verdana, Arial, Helvetica, sans-serif">
      <input type="radio" name="kopierad" value="1" onClick="enablebladplats()"> 
      Ja 
      <input type="radio" name="kopierad" value="0" onClick="disablebladplats()"> 
      Nej</font></td>
  </tr>
  <tr>
    <td><font size="1" face="Verdana, Arial, Helvetica, sans-serif">Blad</font></td>
    <td><input name="blad" type="text" id="blad" size="2" maxlength="2"></td>
  </tr>
  <tr>
    <td><font size="1" face="Verdana, Arial, Helvetica, sans-serif">Plats</font></td>
    <td><input name="plats" type="text" id="plats" size="2" maxlength="2"></td>
  </tr>
  <tr>
    <td><font size="1" face="Verdana, Arial, Helvetica, sans-serif">Inlagd i databas</font></td>
    <td><font size="1" face="Verdana, Arial, Helvetica, sans-serif"><%=Now%>&nbsp;</font></td>
  </tr>
  <tr>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td><input type="submit" name="Submit" value="Spara"></td>
    <td><font size="1" face="Verdana, Arial, Helvetica, sans-serif"><b><%=Request.QueryString("text")%></b></font></td>
  </tr>
</table>
</form><br>
<br>
<br>
<%
	strSQL = "SELECT TOP 1 * FROM Skivor ORDER BY inlagd DESC"
	RecSet.Open strSQL, Connect, AdOpenDynamic

	If RecSet.EOF Then
		latest_filmnamn		= "Ingen info"
		latest_skiva		= "Ingen info"
		latest_releaseid	= "Ingen info"
		latest_kopierad		= "Ingen info"
	Else
		latest_filmnamn		= RecSet("namn")
		latest_skiva		= RecSet("skiva")
		latest_releaseid	= RecSet("release")
		latest_kopierad		= RecSet("kopierad")
		latest_blad		= RecSet("blad")
		latest_plats		= RecSet("plats")

		If latest_kopierad = 1 Then
			latest_kopierad = "Ja (B" & latest_blad & "P" & latest_plats & ")"
		Else
			latest_kopierad = "Nej"
		End If
	End If
	RecSet.Close

	If latest_releaseid <> "Ingen info" Then
		strSQL = "SELECT Releasenamn FROM Releaser WHERE ID = " & latest_releaseid
		RecSet.Open strSQL, Connect, AdOpenDynamic

		If RecSet.EOF Then
			latest_release = "Ingen info"
		Else
			latest_release = RecSet("Releasenamn")
		End If
		RecSet.Close
	End If
%>
<table width="500" border="1" align="center" cellpadding="0" cellspacing="1" bordercolor="#FFFFFF" bgcolor="#0058B0">
  <tr>
    <td colspan="2"><div align="center"><strong><font size="3" face="Verdana, Arial, Helvetica, sans-serif">Senast inlagda film</font></strong></div></td>
  </tr>
  <tr>
    <td width="356"><font size="1" face="Verdana, Arial, Helvetica, sans-serif"><%=latest_filmnamn%></font></td>
    <td width="144"><font size="1" face="Verdana, Arial, Helvetica, sans-serif">Skiva: <%=latest_skiva%></font></td>
  </tr>
  <tr>
    <td><font size="1" face="Verdana, Arial, Helvetica, sans-serif">(<%=latest_releaseid%>) <%=latest_release%></font></td>
    <td><font size="1" face="Verdana, Arial, Helvetica, sans-serif">Br&auml;nd: <%=latest_kopierad%></font></td>
  </tr>
</table>
</body>
</html>
Medlem sedan feb. 20011 198 inlägg
#2

Javascript är case-sensitive?
I disablebladplats och enablebladplats är GetElementByID skrivet med stor G i början och stort D i slutet.
Det gillas inte.

Medlem sedan dec. 20025 483 inlägg
#3

För att enklare urskilja de väsentliga delarna (JS och HTML) vore det kanon om du postade koden så som den ser ut i "Visa källa/View source" :)

Medlem sedan juni 2001272 inlägg
#4

Har lite mer strul:

<script language="JavaScript" type="text/javascript">
function checkchecked1(){
if(document.getElementById('ny_release').checked)
document.getElementById('release').disabled = 'disabled';
document.getElementById('release_ny').disabled = '';
else
document.getElementById('release').disabled = '';
document.getElementById('release_ny').disabled = 'disabled';
}
</script>

Det vill inte fungera, gör jag två funktioner med två if-satser så funkar det prima men lägger jag in dom i samma fungerar det inte alls :(

Medlem sedan dec. 20025 483 inlägg
#5

Måsvingar '{}' skall i detta fall omgärda if- och else-blocket.

274 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
119 ms — deklarationer (db)
0 ms — hämta statistik (cache)
143 ms — hämta tråd, inlägg och bilagor (db)
126 ms — ändringar (db)