Inserire dei dati di una tabella dinamica in un file esterno js

cavaliere123

Utente Attivo
31 Lug 2012
416
0
16
Buonasera e buon sabato :)

Ho una semplice domanda da fare...

ho due tabelle dinamiche in cui si aggiunge le celle con valori diversi man mano che gli vien detto da un onclik in uno script javascript, le strutture delle tabelle diciamo che sono cosi :

HTML:
<table style="text-align: left; width: 100%;" border="1"
 cellpadding="2" cellspacing="2">
  <tbody>
    <tr>
      <td>nomi</td>
    </tr>
    <tr>
      <td>andrea</td>
    </tr>
    <tr>
      <td>marco</td>
    </tr>
    <tr>
      <td>carlo</td>
    </tr>
  </tbody>
</table>

e la seconda tabella 

<table style="text-align: left; width: 100%;" border="1"
 cellpadding="2" cellspacing="2">
  <tbody>
    <tr>
      <td>indirizzo</td>
    </tr>
    <tr>
      <td>Roma</td>
    </tr>
    <tr>
      <td>Napoli</td>
    </tr>
    <tr>
      <td>Milano</td>
    </tr>
  </tbody>
</table>

e poi ho un file esterno : dati.js che si presenta cosi :

var nomi = new array()

nomi[0] = " andrea";
nomi[1] = " marco";
-----

var indirizzo = new array()

indirizzo[0] = "Roma";
indirizzo[1] = "Napoli";
-------

HTML:
var nomi = new array()

nomi[0] = " andrea";
nomi[1] = " marco";
-----

var indirizzo = new array()

indirizzo[0] = "Roma";
indirizzo[1] = "Napoli";
-------

E' possibile magari con un onclik inserire i nuovi valori delle tabelle sotto i due array ??
 

cavaliere123

Utente Attivo
31 Lug 2012
416
0
16
Nessuno mi risponde ?? :((

ho trovato intanto questo script che diciamo potrebbe fare al caso mio... ma tre problemi,

HTML:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> 
<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> 
<title>1 Esempio di utilizzo oggetto ActiveX e JavaScript</title> 
</head> 
<script language="Javascript" type="text/javascript" > 
<!-- 
// 1 Lezione "Scrivere su un file con JavaScript e ActiveX " 
// 12 Aprile 2002 

var nome="Marco"; 
var cognome="Magnus"; 

var filename = "c:/mytest_filesystem/mydata.txt"; 

function WriteToFile() 
{ 
var fso = new ActiveXObject("Scripting.FileSystemObject"); 
// se il file esiste aggiunge due righe 
// con il contenuto delle variabili nome/cognome 
if (fso.FileExists(filename)) 
{ 
var a, ForAppending, file; 
ForAppending = 8; 
file = fso.OpenTextFile(filename, ForAppending, false); 
file.WriteLine(nome); 
file.WriteLine(cognome); 
} 
//Se non esiste crea il file e 
// aggiunge due righe 
// con il contenuto delle variabili nome/cognome 
else 
{ 
var file = fso.CreateTextFile(filename, true); 
file.WriteLine(cognome); 
file.WriteLine(cognome); 
} 
file.Close(); 
} 
//------------------------------------------------------- 
function ReadFromFile(){ 
var fso, a, ForReading; 
ForReading = 1; 
fso = new ActiveXObject("Scripting.FileSystemObject"); 
file = fso.OpenTextFile(filename, ForReading, false); 
var nome = file.readline(); 
var cognome = file.readline(); 
document.all.myarea.innerHTML = nome + "-" + cognome; 
file.Close(); 
} 

//--> 
</script> 

<body > 
<b>1. Scrivere su un file con JavaScript e ActiveX </b><br> 
<I>Attenzione assicurarsi che i file risiedano nel path specificato nella variabile filename e 
che Explorer sia abilitato per gli oggetti ActiveX 
<br></I> 

<br> 
NOMINATIVO <span id="myarea"></span><br> 

<script language="Javascript" type="text/javascript" > 
<!-- 
// Lancio delle funzioni di scrittura e lettura 
WriteToFile(); 
ReadFromFile(); 
//--> 
</script> 
</body> 
</html>

uno : posso integrarlo in un file html/javascript ??

due : come posso dire a questo script di scrivere in un ben determinato punto del file di testo ?...

tre : Activex non è supportato da Crome, c'è modo di sostituirlo ??

Grazie e buona domenica a chi legge :)
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
se ho capito vuoi creare una tabella da un file di testo

usa ajax e jquery

HTML:
<script src="http://code.jquery.com/jquery-1.8.0.min.js"></script>
<script>
    $.post('tabella.txt', function(file) {

        var riga = file.split(";");

        $.each(riga, function(elem) {
                    
            $('#risultato').append('<tr><td>' + riga[elem] + '</td></tr>');
                    
        });
    });

</script>
<style>
    table#risultato {
        text-align: left;
        width: 100%;
    }
    table#risultato td {
        padding:2px;
        border: 1px solid #333;
    }
</style>
<table id="risultato">
    <tbody>
        <tr>
            <td>nomi</td>
        </tr>
    </tbody>
</table>

file tabella.txt
Codice:
marco;carlo;franco

poi ovviamente ci sono le funzioni per scrivere nel file
 

cavaliere123

Utente Attivo
31 Lug 2012
416
0
16
No scusa... voglio creare un file di testo da un file script/html ....
tutto il contrario insomma..... :)
 

cavaliere123

Utente Attivo
31 Lug 2012
416
0
16
Cioè desidero incollare in un file di testo.... delle variabili create con uno script, e scusa se è un htm vecchiotto ma questo c'è in giro... :(

se vuoi ti posto lo script ..
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
strano non trovo niente di serio per scrivere su un file con javascript
se vuoi ti posto lo script ..
Tremo al sol pensiero :crying:
 

cavaliere123

Utente Attivo
31 Lug 2012
416
0
16
Ho semplificato lo script di partenza cosi spero di essere più chiaro, questo è uno script che formatta un testo inserito in un form e poi con un onclick inserisco tale testo in una cella di una tabella ...

HTML:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>TABELLA DINAMICA</title>
<style>
     table.tabella{
	border: 0px;
      }
   table.tabella th{
		
	padding : 0px;
      }
         table.tabella td{
		
	padding : 0px;
    }

       	           .siti { margin-left:6em;
                 }
 
      .tb { border: 2px solid red;
          margin-left:2em;
                 }

       .tb1 { border: 2px solid green;
          margin-left:2em;
     }

      .tb2 { border: 2px solid DEEPSKYBLUE;
          margin-left:2em;
    }

       .num { border-bottom: 4px solid DEEPSKYBLUE;
        margin-left:2em;
               }

              .ind { border-bottom: 4px solid red;
        margin-left:2em;
             }

                .tit { border-bottom: 4px solid green;
               margin-left:2em;
         }
      
           .aut { border-bottom: 4px solid lime;
             margin-left:2em;
          }
         
     .fin { 
             font-size: 30px;
          }

   </style>

<script type='text/javascript'>


function rimpiazza() { 
var miaStringa = document.mioform.testo.value;

miaStringa = miaStringa.replace(/’/g, "&acute");
miaStringa = miaStringa.replace(/\n/g, "<br/>");
miaStringa = miaStringa.replace(/'/g, "&acute");
-------------------------- 
document.mioform.risultato.value=miaStringa;

pippo=document.getElementById("scritta").innerHTML=miaStringa;

}
     
                    


// Creo la tabella della descrizione dei castelli

            function aggiungiRiga(id_table){

	var table = document.getElementById(id_table);
	var tbody = table.getElementsByTagName('tbody')[0];
	var colonne = table.getElementsByTagName('th').length;	
	var tr = document.createElement('tr');
         tbody.appendChild(tr);

               	var td = document.createElement('td');
		var tx = document.createTextNode('description['+pluto+']="');
		td.appendChild(tx);
		tr.appendChild(td);
                  
               	var td = document.createElement('td');
		var tx = document.createTextNode(pippo);
		td.appendChild(tx);
		tr.appendChild(td);

               	var td = document.createElement('td');
		var tx = document.createTextNode('";');
		td.appendChild(tx);
		tr.appendChild(td);
 

                
td = document.createElement('td');
   tr.appendChild(td);
   var a = document.createElement('a');
   td.appendChild(a);
   a.href = '#';
   a.onclick = deleteRowFromTbody;
   a.appendChild(document.createTextNode('Elimina'));
   a.className="cancella";

   // si nasconde anche la eventuale tabella visualizzata
   // con i dati inseriti e passati a php
   var e = document.getElementById("boxtabella");
   // si controlla se la tabella è visualizzata
   if (e.style.display != 'none' || e.style.visibility != 'hidden')
    {
       e.style.display = 'none';  // si nasconde la tabella
    }
		
}
 

//Cancella la riga corrispondente al link Elimina cliccato
var deleteRowFromTbody = function(){
   //Ottengo il tr dal link
   var tr = this.parentNode.parentNode;
   //Lo cancello
   tr.parentNode.removeChild(tr);

}



//Cancella il tbody creando un altro elemento tbody e sostituendolo
function eliminatabella(id_table)


{   var table = document.getElementById(id_table);
   var tbody = table.getElementsByTagName('tbody')[0];
   var newTbody = document.createElement("tbody");
   tbody.parentNode.replaceChild(newTbody, tbody);
   newTbody.id = "('tbody')";

   // si nasconde anche la eventuale tabella visualizzata
   // con i dati inseriti e passati a php
   var e = document.getElementById("boxtabella");
   e.style.visibility = 'hidden';

}

</script>

</head>

<body>




<div class="tit";>-------------------------DESCRIZIONE CASTELLO ------------------------------------

<form name="mioform">
<textarea name="testo2" cols="115" rows="7" style=" border: 3px dashed LIGHTCORAL;"></textarea><br><br>
<textarea name="risultato" cols="115" rows="5"></textarea><br><br>
<input type="button" value="Clicca2" onclick="rimpiazza();"> <input type="reset" value="Cancella2">
</form></div><br/>



<div id="scritta"></div>



--------------------------------------------------------------------------------------------------------
       
         <div class="tb1";>
	<table border='0' id='titles' class='tabella' cellspacing='0' cellpadding='0'>
	<thead><tr><th>----DESCRIZIONE----</th><th></th><th></th></tr></thead>
	<tbody>
	
	</tbody>
	</table><br/>
	<input type='button' value='Aggiungi riga' onClick="aggiungiRiga('titles')" />
        <input type='button' value='Elimina Tabella' onClick="eliminatabella('titles')" /></div></br>


--------------------------------------------------------------------------------------------------------
 

</body>

</html>


e poi ho un file castelli.js esterno in cui c'è l'array dei castelli :

HTML:
var description = new array
description[0] = napoli
description[1] = milano

Io vorrei che una volta inserito nella tabella con un altro clik si aggiungesse anche sotto questo altro file esterno la nuovo descrizione.
Spero di essere stato più chiaro :)
 

cavaliere123

Utente Attivo
31 Lug 2012
416
0
16
Allora perdonami ma ho risolto il problema dell'inserimento nello script, inserendo questa procedura :

HTML:
// 1 Lezione "Scrivere su un file con JavaScript e ActiveX " 
// 12 Aprile 2002 

var nome = "document.mioform.risultato.value";
var cognome = "miaStringa";



var filename = "F:/BLOG CAVALIERI ERRANTI/SCRIPT ED HTML PER IL BLOG/HTML PER SOSTITUIRE CARATTERI/FILETXT/PROVA.JS"; 
function WriteToFile() 
{ 
var nome = document.mioform.risultato.value; 
var cognome = "miaStringa";

var fso = new ActiveXObject("Scripting.FileSystemObject"); 
// se il file esiste aggiunge due righe 
// con il contenuto delle variabili nome/cognome 
if (fso.FileExists(filename)) 
{ 
var a, ForAppending, file; 
ForAppending = 8; 
file = fso.OpenTextFile(filename, ForAppending, false); 
file.WriteLine(nome); 
file.WriteLine(cognome); 
} 
//Se non esiste crea il file e 
// aggiunge due righe 
// con il contenuto delle variabili nome/cognome 
else 
{ 
var file = fso.CreateTextFile(filename, true); 
file.WriteLine(nome); 
file.WriteLine(cognome); 
} 
file.Close(); 
} 
//------------------------------------------------------- 
function ReadFromFile(){ 

var fso, a, ForReading; 
ForReading = 1; 
fso = new ActiveXObject("Scripting.FileSystemObject"); 
file = fso.OpenTextFile(filename, ForReading, false); 
var nome = file.readline(); 
var cognome = file.readline(); 
document.all.myarea.innerHTML = nome + "-" + cognome; 
file.Close(); 
}

che richiamo quando voglio con un onclik...

Adesso ho il secondo problema.... inserire la linea di testo nel documento in una zona ben precisa...
altrimenti va sempre alla prima riga.... in questa procedura c'è il comando write, ho letto da una parte ma ho perso il link, che ci sono altri due comandi a posto di write , tra cui uno appunto che ti fa inserire la linea di testo dove vuoi nel documento esterno, per caso la rimembri ???

e se si mi fai un piccolo esempio per cortesia '?? :)
Grazie. Domenico.
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
UPDATE ??
questo serve per le query ne linguaggi SQL

quello che cerchi tu è innerHTML che t permette di scrivere del codice dentro un elemento della pagina
 

cavaliere123

Utente Attivo
31 Lug 2012
416
0
16
None.... ti riposto la funzione che mi scrive su un file di testo :

HTML:
// 1 Lezione "Scrivere su un file con JavaScript e ActiveX " 
// 12 Aprile 2002 

var nome = "document.mioform.risultato.value";
var cognome = "miaStringa";



var filename = "F:/BLOG CAVALIERI ERRANTI/SCRIPT ED HTML PER IL BLOG/HTML PER SOSTITUIRE CARATTERI/FILETXT/PROVA.JS"; 
function WriteToFile() 
{ 
var nome = document.mioform.risultato.value; 
var cognome = "miaStringa";

var fso = new ActiveXObject("Scripting.FileSystemObject"); 
// se il file esiste aggiunge due righe 
// con il contenuto delle variabili nome/cognome 
if (fso.FileExists(filename)) 
{ 
var a, ForAppending, file; 
ForAppending = 8; 
file = fso.OpenTextFile(filename, ForAppending, false); 
file.WriteLine(nome); 
file.WriteLine(cognome); 
} 
//Se non esiste crea il file e 
// aggiunge due righe 
// con il contenuto delle variabili nome/cognome 
else 
{ 
var file = fso.CreateTextFile(filename, true); 
file.WriteLine(nome); 
file.WriteLine(cognome); 
} 
file.Close(); 
} 
//------------------------------------------------------- 
function ReadFromFile(){ 

var fso, a, ForReading; 
ForReading = 1; 
fso = new ActiveXObject("Scripting.FileSystemObject"); 
file = fso.OpenTextFile(filename, ForReading, false); 
var nome = file.readline(); 
var cognome = file.readline(); 
document.all.myarea.innerHTML = nome + "-" + cognome; 
file.Close();

richiamando questa funzione mi aggiunge su un file di testo esterno una riga, e mi funziona benissimo, ma scrive sempre a inzizio documento...

io ho letto questo su un sito :

Opzioni di scrittura per file esterni :

Se per leggere un file abbiamo i metodi READ ed UPDATE, per la scrittura abbiamo i metodi WRITE, APPEND e ancora una volta UPDATE che risulta valido per entrambe le operazioni.

WRITE apre il file in sola scrittura; se il file non esiste viene creato, se esiste già viene sovrascritto dai nuovi contenuti. Non è quindi possibile usare questo metodo per aggiungere dei dati ad un file, ma solo eventualmente per sostituirli.
APPEND apre il file in sola scrittura; se il file non esiste viene creato, se invece esiste già i dati verranno aggiunti alla fine del file, è quindi possibile usare questo metodo per aggiungere dati ad un file.
UPDATE come abbiamo già visto apre il file sia per la lettura che per la scrittura; se il file non esiste viene creato ed è possibile ricavare o scrivere informazioni in qualsiasi punto del file.

quindi ho pensato che invece del write devo usare il comando UPDATE, ma come faccio a dirgli su quale riga deve scrivere sul documento di testo ??
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
ma li parlano di Actionscript quindi di flash
 

cavaliere123

Utente Attivo
31 Lug 2012
416
0
16
C'è anche una discussione sullo stesso argomento sul vostro sito e precisamente qui :

http://forum.mrwebmaster.it/javascript/5808-scrivere-javascript.html

ed è in fondo la funzione che sto usando... il problema per sempre più chiarezza è questo :

ho questo file esterno : dati.txt

HTML:
var frasi = new Array();
frasi[0]= "primo";
frasi[1]= "secondo"


var autori = new Array
autori[0]= "carlo";
autori[1] = "marco":

io voglio tramite quella funzione scrivere un nuovo valore sotto frasi[1] e poi sotto autore[1], chiaramente ho tutto lo script fatto , mi serve solo nella funzione di cui sopra il comando che mi permette di aggiungere quella linea sotto un ben specificato posto. semplice no ? :)
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
non direi semplice
quello script ha cmq 7 anni e gira solo su IE con i controlli protezione disattivati

fossi in te cercherei in rete qualcosa fatta con juery e sei sicuro che sia compatibile con tutti i browser

io non ho trovato niente
 
Discussioni simili
Autore Titolo Forum Risposte Data
A Inserire in una pagina dei dati presi da una popup Javascript 3
novello88 Inserire nuvola dei tag: wp_tag_cloud() non funziona! WordPress 0
M inserire dei campi senza conoscere a priori il numero PHP 0
rok Come faccio ad inserire dei frame del genere?! HTML e CSS 4
Elisacau [Contact form 7] Inserire Numero auto incrementante WordPress 1
gara1 inserire immagine di sfondo in canvas Javascript 0
FDF182 Inserire pdf in db PHP 3
otto9due Inserire o aggiornare tabella my sql controllando una coppia di valori PHP 7
Couting95 inserire dati da un file di testo in una tabella in php PHP 1
D Inserire link PHP 0
L PHPSpreadsheet inserire dati da file .xlsx/.xls su database PHP 2
P inserire due voci in un titolo post wp WordPress 1
R inserire video nel sito HTML e CSS 15
J Inserire blog wordpress in angular CMS (Content Management System) 0
A inserire variabile php colore in div html PHP 2
L inserire dati multi livello PHP 8
G Inserire una scritta Java 1
M Inserire variabile nella value di una hidden PHP 3
S Inserire foto in ogni cella di una tabella Javascript 0
G inserire dati automaticamente in mysql PHP 0
B Vorrei inserire una finestra con messaggio ad un history.back PHP 16
Shyson Inserire placeholder nel campo cerca PHP 5
M Lanciare alert se il codice fiscale è già presente nel db e lasciare la scelta di inserire all'utente PHP 42
atipika INSERIRE ICONE DOWNLOAD E STAMPA WORDPRESS WordPress 10
F Creare un set di date a seconda del frazionamento scelto da inserire in MySQL PHP 6
B inserire valori da una tabella a un altra mysql PHP 34
D [Javascript] inserire uno script in un file php Javascript 6
napuleone [HTML] type="file" inserire path di partenza HTML e CSS 4
Monital [Javascript] inserire dati estratti dal db in html fisso Javascript 1
R [WordPress] Inserire campi aggiuntivi ad un Submit Form già dato dal template (front-end) WordPress 0
M inserire i dati ottenuti da una jquery in una tabella già esistente jQuery 1
G Inserire "Leggi il resto dell'articolo" con link al post sul sito preso via RSS Email Marketing 0
M [PHP] Come inserire codice html in un ciclo while PHP 2
P [PHP] Inserire stringhe in input(text),memorizzarle e stamparle in file successivo PHP 0
J [Javascript] Inserire un caricamento con animazione prima dell'esecuzione di un'azione Javascript 1
Shyson [PHP] Inserire testo nel codice PHP 2
D Mailchimp - Possibile inserire doppia condizione per i triggers? Email Marketing 0
A [MS Access] Pulsante per inserire allegati in campo maschera MS Access 0
Shyson [HTML] Inserire nuovo font con @font-face HTML e CSS 5
Alex_70 Inserire photo in php PHP 0
D [Javascript] [HTML] Inserire slash dopo 3 numeri Javascript 5
F INSERIRE IN UN'UNICA CASELLA DI TESTO REPORT ACCESS I VALORI DELLA TABELLA DI UN'INTERA COLONNA MS Access 2
A [HTML] Come inserire google review stars nelle pagine del mio sito HTML e CSS 0
spider81man Connettersi ad un DB ed inserire dati con Javascript Javascript 3
spider81man [PHP] Inserire file .pdf in db PHP 6
P [WordPress] Inserire codice in pagina dinamica WordPress 0
A [PHP] Ciclare array multidimensionale e inserire valori in DB PHP 2
M [PHP] Inserire array nel db PHP 6
andreas88 [HTML] come inserire 3 riquadri in un unico rigo (vedere img allegata) HTML e CSS 11
G [PHP] inserire risultato di una query in una tabella PHP 3

Discussioni simili