[ Ajvan @ 18.03.2008. 17:36 ] @
Pozdrav svima...
imam sledecu situaciju...razvijam web site aplikaciju u c# i Visual Studio-u 2005.

Na Default.aspx.cs strani dinamicki generisem dva Radio dugmeta i jedan TextBox koristeci sledecu funkciju:

Response.Write("<tr><td>" + leafSpace + " " + cat.Name.ToString() + "</td>" +

//RADIO BUTTON 1

"<td ALIGN=RIGHT>" + "<input type=\"radio\" value=\"1\" name=\"radiobtn\"" + counter + "onClick=\"tbChange('texbBox_" + counter + "', true)\"></td>" +

// RADIO BUTTON 2

"<td ALIGN=RIGHT>" + "<input type=\"radio\" value=\"2\" name=\"radiobtn\"" + counter + "onClick=\"tbChange('texbBox_" + counter + "', true)\"></td>" +

//TEXT BOX

"<td ALIGN=RIGHT>" + "<input type=\"text\" size=\"7\" value=\"1\" " + " name=\"textBox" + counter + "\" id=\"textBox_" + counter + "\"/> </td>" + "<td ALIGN=CENTER>" + posDayCount + "</td> </tr>");

counter je lokalna promenljiva tipa int koja obezbedjuje da komponente koje su generisane imaju jedinstveno ime jer nece ih uvek biti isti broj...promenljive tipa leafSpace, cat.NAme.ToString()...nisu bitne ..

RadioBtn-i su u grupi i medjusobno su iskljucivi...poenta je da treba da se klikom na prvi Radio Btn TexBox postavi u Read only mod a klikom na drugi Radio Btn vradi u Read/Write mod...iz tog razloga oba radio dugmeta imaju onCLick event...u kome treba da se pozove jscript na Default.aspx strani a koji izgleda ovako:


<SCRIPT LANGUAGE="JavaScript" SRC="jscript.js" type="text/javascript">

function tbChange(tbId, state)
{
var textBox = document.getElementById(tbId);
tb.disabled = state;
}

</SCRIPT>

Treba pozvati f-ju tbChange na klik na Radio dugmad i tako postaviti TextBox u zeljeno stanje...e sad ja nesto nisam vican jscript-u..u stvari nisam ga do sada koristio uopste pa nisam siguran gde sam pogresio...ima li neko ideju u cemu je problem?
Hvala unapred
pozdrav
[ 01011011 @ 18.03.2008. 18:38 ] @
KAo prvo ovo ako ti je u html codu ovako se ne stavlja javascript nego..

Code:

<script language="javascript" type="text/javascript">
            function tbChange(tbId, state)
            {
                var textBox = document.getElementById(tbId);
                tb.disabled = state;
            }
        </script>
[ Ajvan @ 18.03.2008. 19:36 ] @
da, hvala na post-u, i na ispravci, vec sam pomenuo da nisam dosad koristio jscript, ovo je parce koda iskopirano sa druge strane.
U svakom slucaju, promenio sam to medjutim, i dalje radio dugmad ne reaguje na klikove, tj. ne menja dostupnost TextBox-a za citanje tj. citanje/pisanje.
Mislim da je greska negde u aspx.cs strani...
[ 01011011 @ 18.03.2008. 19:49 ] @
evo jos jedna greska u java scriptu

Code:
<script language="javascript" type="text/javascript">
            function tbChange(tbId, state)
            {
                var textBox = document.getElementById(tbId);
                tb.disabled = state;
            }
        </script>


bi trebalo da bude

Code:
<script language="javascript" type="text/javascript">
            function tbChange(tbId, state)
            {
                var textBox = document.getElementById("tbId");
                textBox.disabled = state;
            }
        </script>


stavi tbID takodje u quotes.

[ 01011011 @ 18.03.2008. 19:59 ] @
Al kad skontam, ovo ti ni ne treba.

Zasto jednostavno ne uradis ovo?

Code:
    <form id="form1" runat="server">

disable: <input type="radio" name="myRadioButton" onclick="myTextField.disabled=true"/>

enable: <input type="radio" name="myRadioButton" onclick="myTextField.disabled=false"/>

textfield: <input type="text" name="myTextField"/>

    
    </form>
[ 01011011 @ 18.03.2008. 20:02 ] @
ili ako bas hoces da korstis funkciju :)

Code:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="ajvan.aspx.cs" Inherits="AUCDemo.ajvan" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>Untitled Page</title>
    <script language='javascript'>
        <!-- //
        function setReadOnly(obj)
        {
        if(obj.value == "yes")
        {
        document.forms[0].mytext.style.backgroundColor = "#ffffff";
        document.forms[0].mytext.readOnly = 0;
        document.forms[0].mytext.value = "";

        } else {
        document.forms[0].mytext.style.backgroundColor = "#eeeeee";
        document.forms[0].mytext.readOnly = 1;
        document.forms[0].mytext.value = "Not applicable!";
        }
        }
        // -->
</script>
</head>
<body>
    <form id="form1" runat="server">
<input type=radio name="update" value="yes" checked onclick="setReadOnly(this)">Update<br />
<input type=radio name="update" value="no" onclick="setReadOnly(this)">Dont update<br />
<input type=text name=mytext>

    </form>
</body>
</html>
[ Ajvan @ 18.03.2008. 20:14 ] @
Tja...razlog zasto koristim script tj. funkciju je taj sto ja ne znam unapred koliko cu imati dugmadi na formi...Ja citam podatke iz baze i ako na primer imam 3 record-a koji su procitani ja moram da generisem sledecu situaciju:

RadioBtn1 RadioBtn1 (mutually exclusive) TextBox1
RadioBtn2 RadioBtn2 (mutually exclusive) TextBox2
RadioBtn3 RadioBtn3 (mutually exclusive) TextBox3

Kad korisnik klikne na RadioBtn1 (prvi slog) => TextBox1 postaje ReadOnly
Kad korisnik klikne na RadioBtn1 (prvi slog) => TextBox1 postaje Read/write...

Takodje, Item-i (Radio..TextBox..) moraju da zauzimaju odredjenu poziciju na strani...zato tabela...
ako pogledas prvi post, videces da u okviru f-je Response.Write ja generisem u jednom prolazu 2 RadioBtn-a istog imena ali VALUE im se razlikuje...na taj nacin posle mogu procitati koji je cekiran i taj podatak upisati u bazu...
zeza me "samo" taj glupavi OnCLick event na RadioBtn grupu
[ 01011011 @ 18.03.2008. 20:20 ] @
Pa dobro, uglavnom ti je funkcionalnost dostupna dole? TO da li ces da generises tabelu iz code behind ili napred to ne treba da je relevantno.

znaci moze biti jedan ili vise rekorda iz baze podataka.

Svaki rekord sadrzi 2 radio buttona i jedan tekstbox. Na osnovu vrednosti iz baze podataka mi odredjujemo da li je textbox visible ili nije? TO mi nije jasno, ako vec citas iz baze podataka to, zasto imas opciju da se moze promjeniti, no mozda je edit strana.?

Jel ovo kontam, je to sto treba da uradis...
[ Ajvan @ 18.03.2008. 20:40 ] @
U principu se vrednosti Item-a na strani i setuju citanjem iz baze (osim prvi put kad su u bazi NULL vrednosti pa nista nije setovano), ali kad se strana izrenderuje u Browser-u, korisnik (ovo je Admin deo sajta, mada je to irelevantno) ima mogucnost da podesi dugmad i snimi novo stanje...poenta je da ako u jednom Row-u pritisne prvi RadioBtn onda ta opcija znaci da ni jedna vrednost ne moze biti uneta u TextBox tog row-a (jer ako bi to bilo moguce, narusilo bi referencijalni integritet u bazi) i suprotno, ako se u tom istom redu pritisne drugi RadioBtn onda je polje ponovo dostupno za unos..
[ Ajvan @ 19.03.2008. 09:58 ] @
jedan novi momenat...
kad poziv f-je (jscript-a) CallOfMethodOnSourcePage(); stavim u PageLoad na source strani onda sve radi kako treba...no medjutim, komponente se ne iscrtavaju na mestu na kom treba da se iscrtavaju.
A kad poziv f-je stavim u tag <% CallOfMethodOnSourcePage(); %> na HTML strani onda ne radi...
U cemu je stvar?
[ Ajvan @ 19.03.2008. 11:35 ] @
REsio sam problem...bila je glupost kao i uvek...malo lose sintakse u Response.Write metodi...i eto problema...
u svakoms lucaju hvala na odgovorima