Avatar billede andersasp Nybegynder
26. november 2010 - 14:52 Der er 5 kommentarer

Få værdi fra textfelt

Hejsa,

Jeg har to javascripts, som begge virker.. det første gør at man man vælge nogle checkbokse hvorefter en værdi bliver vist i et tekst felt....

det andet script som er lige efter det første, skal åbne en hjemmeside med en forespørgsel = med textfeltets værdi.. dette virker da også, men hvis man ændrer textfeltes værdi med første script bliver denne værdi ikke ændret.. er det et hurtigt fix på dette? jeg kan ikke lige hitte ud af dette!

<script language="javascript" type="text/javascript">

            var functionID;

            var string = '<%=fintheuniquepost("TAtext")%>';

            var wordsLength;

                       

            function load()

            {

                createTable("wordsTable",string);     
               
            }

                                       

            function display()
           

            {

                var elem = document.getElementById("thephrase");

                elem.value="";

                var i;

                for(i=0;i<wordsLength;i++)               

                {                                           

                    var word = document.getElementById("word"+i);

                    var checkbox = document.getElementById("checkbox"+i);

                    if (checkbox.checked)

                        elem.value+=" " + word.innerHTML; 
                       

                }                                     

            }

           

            function validate(index)

            {               

                var result;

                var prev=false;

                var post=false;

               

                var elem;

                if (index>0)

                {

                    elem=document.getElementById("checkbox"+(index-1));                   

                    if (elem.checked)

                        prev=true;

                }

               

                if (index<wordsLength-1)

                {

                    elem=document.getElementById("checkbox"+(index+1));

                    if (elem.checked)

                        post=true;
                       
   
                }

               

                               

                result=true;                               

                for(i=0;i<wordsLength;i++)               

                {           

                    if (i!=index)

                    {

                        elem=document.getElementById("checkbox"+i);

                        if (elem.checked)

                        {                           

                            result=false;

                            break;

                        }

                    }

                }

               

                elem=document.getElementById("checkbox"+index);

                if (elem.checked)                   

                {           

                    if (prev||post||result)

                    {                   

                        elem.checked=true;                                                                             

                    }

                    else

                        elem.checked=false;                                                                                                             

                }

               

                display();
               

            }

                       

            function createTable(tblId, wordsString)

            {               

                var tblBody = document.getElementById(tblId);               

                var newRow = tblBody.insertRow(-1);

                               

                var words = wordsString.split("#");

                wordsLength=words.length;               

                var i;

                for(i=0;i<words.length;i++)               

                {

                    var newCell0 = newRow.insertCell(i);               

                    newCell0.innerHTML = '<div align="center" id="word' + i + '" name="word' + i + '">' + words[i] + '</div>';
                   
                   

                }                               

               

                newRow = tblBody.insertRow(-1);               

                for(i=0;i<words.length;i++)               

                {

                    var newCell0 = newRow.insertCell(i);               

                    newCell0.innerHTML = '<div align="center"><input type="checkbox" id="checkbox' + i + '" name="checkbox' + i + '" onclick="validate(' + i + ')"/></div>';

                }                                               

            }
                   

</script>

<script type="text/javascript">

/***********************************************
* Ajax Includes script- © Dynamic Drive DHTML code library (www.dynamicdrive.com)
* This notice MUST stay intact for legal use
* Visit Dynamic Drive at http://www.dynamicdrive.com/ for full source code
***********************************************/

//To include a page, invoke ajaxinclude("afile.htm") in the BODY of page
//Included file MUST be from the same domain as the page displaying it.

var rootdomain="http://"+window.location.hostname

function ajaxinclude(url) {
var page_request = false
if (window.XMLHttpRequest) // if Mozilla, Safari etc
page_request = new XMLHttpRequest()
else if (window.ActiveXObject){ // if IE
try {
page_request = new ActiveXObject("Msxml2.XMLHTTP")
}
catch (e){
try{
page_request = new ActiveXObject("Microsoft.XMLHTTP")
}
catch (e){}
}
}
else
return false
page_request.open('GET', 'show.asp?word='+document.forms[0].thephrase.value+'', false) //get page synchronously
page_request.send(null)
writecontent(page_request)
}

function writecontent(page_request){
if (window.location.href.indexOf("http")==-1 || page_request.status==200)
document.write(page_request.responseText)
}   

</script>
Avatar billede andersasp Nybegynder
26. november 2010 - 15:06 #1
Glemte lige at skrive hvorledes dataen bliver vist:

sådan vises checkboxene

<table id="wordsTable" name="wordsTable">

her vises output

<input name="thephrase" type="text" id="thephrase" style="font-size:18px; width:350px" value="Start her" readonly="readonly"/>

her vises siden som der henvises til

<script type="text/javascript">
ajaxinclude("show.asp")
</script>
Avatar billede majbom Novice
26. november 2010 - 17:30 #2
har du et link til siden?
Avatar billede andersasp Nybegynder
27. november 2010 - 07:49 #3
hejsa,

her er et link:
http://www.smz.dk/ajax/

siden show.asp har en request.querysting("word") så den fanger alt hvad der sendes til den!

Håber det er et hurtigt fix, jeg er i hvert fald helt blank..

på forhånd tak
Avatar billede majbom Novice
27. november 2010 - 10:43 #4
det er nok et cache-problem - prøv at smid en variabel på din url som er ny for hver gang:

show.asp?word='+document.forms[0].thephrase.value+'&t='+Math.random()
Avatar billede andersasp Nybegynder
27. november 2010 - 10:53 #5
Hejsa

tak for hurtigt svar,

det virkede desværre ikke!

http://www.smz.dk/ajax/

Har du evt. et andet forslag ?

På forhånd tak.
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