Spostare codice js inline in una funzione js con l'aiuto del dom

Irene Bonta'

Nuovo Utente
14 Mar 2013
2
0
0
Scusate il titolo, ma non so neanche bene io cosa vorrei fare.

Mi spiego meglio. Io ho questa parte di codice nella mia pagina html:

HTML:
            {% for user in users %}

            <form name="form_user_{{ user.id }}" method="post" action="/networks/{{ net.id }}/sensors/{{ sens.id }}/rights">
              <tr>
                <td>
                  <div>
                    {{ escape(user.name) }}
                    <input type='hidden' name="id" value='{{ user.id }}'>
                  </div>
                </td>
                <td>

                  <label class="radio inline" onclick="document.forms['form_user_{{ user.id }}'].submit();">
                    <input type="radio" name="perms" id="perms_{{user.id}}_0" value="0">
                    None
                  </label>
                  <label class="radio inline" onclick="document.forms['form_user_{{ user.id }}'].submit();">
                    <input type="radio" name="perms" id="perms_{{user.id}}_1" value="1">
                    Read
                  </label>
                  <label class="radio inline" onclick="document.forms['form_user_{{ user.id }}'].submit();">
                    <input type="radio" name="perms" id="perms_{{user.id}}_4" value="4">
                    Read + Commands
                  </label>

                  {{ xsrf_form_html() }}
                </td>

              </tr>
            </form>
            {% end %}

Questo codice mi permette, per ogni utente (user) della lista che mi invia il web server, di creare un form che non fa altro che andare ad impostare un permesso all'utente nel DB. A parte tutto quello che avviene dietro, io ho una struttura json che è una lista di utenti, con il loro nome, id e permesso.

Ora, io vorrei creare una checkbox o un pulsante radio o quant'altro, che mi permetta di assegnare in un solo click lo stesso permesso a tutti gli utenti della lista.

Pensavo quindi di creare un elemento di questo tipo:

HTML:
<tr>
                <td>
                  <div>
                    <strong>All users</strong>
                  </div>
                </td>
                <td>
                    <label class="radio inline" onclick="createFormAndSubmit();">
                    <input type="radio" name="permsall" id="all_0" value="0">
                    None
                  </label>
                  <label class="radio inline" onclick="createFormAndSubmit();">
                    <input type="radio" name="permsall" id="all_1" value="1">
                    Read
                  </label>
                  <label class="radio inline" onclick="createFormAndSubmit();">
                    <input type="radio" name="permsall" id="all_4" value="4">
                    Read + Commands
                  </label>
                </td>

              </tr>

in cima alla tabella e di ricostruire per ognu utente, come in un ciclo for, il corrispondente form da inviare al server, tramite una funzione javascript di questo tipo:

Codice:
<script>



//function that creates the form, adds some elements
//and then submits it
function createFormAndSubmit(){
    
    {% for user in users %}
    
     var submitForm = document.createElement("form_user_{{ user.id }}");
     document.body.appendChild(submitForm);
     submitForm.method = "POST";
     
     var newElement = document.createElement("<input type='hidden' name='id' value='{{ user.id }}'>");
     inputForm.appendChild(newElement);
     
     var newElement2 = document.createElement("<input type='radio' name='perms' id='perms_{{user.id}}_0' value='0'>");
     inputForm.appendChild(newElement2);
     
     submitForm.action= "/networks/{{ net.id }}/sensors/{{ sens.id }}/rights";
     document.forms['form_user_{{ user.id }}'].submit();
     //submitForm.submit();
     
    {% end %}
    
}
</script>

Questo codice non funziona ovviamente. Avrei bisogno del vostro aiuto per sistemarlo come si deve. In alternativa ho visto che ci sono degli script che aiutano a fare questo, come jQuery.dForm , ma anche qui non so bene come fare per adattarlo alle mie esigenze...

Consigli? Soluzioni?

Vi ringrazio tantissimo anticipatamente per le risposte.
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
Ciao,
ma non ti conviene semplicemente fare un unico form ed elaborare le checkbox passate per fare l'update sul db?
HTML:
<form action="pagina" method="post">
    <input type="checkbox" name="utente_1"/> Utente 1
    <input type="checkbox" name="utente_2"/> Utente 2
    <input type="checkbox" name="utente_3"/> Utente 3
    <input type="checkbox" name="utente_4"/> Utente 4
</form>
se spuntata fai l'update altrimenti no
 
Discussioni simili
Autore Titolo Forum Risposte Data
Shyson [HTML] Spostare a sinistra codice php PHP 6
N spostare millimetricamente un pezzo di foto Photoshop 0
S spostare il pulsante menu dropdown HTML e CSS 8
L Come spostare cartella immagini/video PHP 1
Shyson Spostare filtro php di WordPress WordPress 0
L [WordPress] Spostare sito principale in sottodominio WordPress 14
U [WordPress] [CSS] Come faccio a spostare più in basso lo slider WordPress 0
Delemir78 [PHP] Problema per ridurre delle immagini e spostare i files in cartelle PHP 5
F Spostare dati tabella Mysql in un campo solo di un'altra tabella PHP 1
L [WordPress] spostare al terzo livello WordPress 0
S [HTML] spostare div se quello adiacente è vuoto HTML e CSS 6
V [PHP] Spostare costanti da un file ad un altro PHP 2
E Spostare Wordpress da locale a remoto su hosting Aruba già esistente WordPress 2
L Testare un sito su un nuovo server dedicato senza spostare i DNS Server Dedicati e VPS 1
G Non riesco a spostare un cerchio fatto con tracciati in photoshop Photoshop 1
A Spostare Degli Oggetti in Più PictureBox in VB 6 Presentati al Forum 0
N XAMPP Spostare cartella phpMyAdmin su chiavetta Windows e Software 2
novello88 Spostare cartella Wordpress da /blog/ a root WordPress 1
filippino Spostare sito da blogger a wordpress WordPress 2
M spostare il testo PHP 1
P spostare elemento da basso a mezza pagina HTML e CSS 6
I Spostare record da tabella a altra... help! MySQL 2
M Spostare sito in locale con akeeba backup Joomla 1
B Spostare Focus su una determinata TXTbox Javascript 3
I spostare div in base all'altezza dello scroll della pagina Javascript 1
M Spostare sito in Php, come? PHP 3
F spostare record da tabella a tabella PHP 8
F Mi conviene spostare la mia home page da Virgilio (Xoomer) a Altervista gratis? SEO e Posizionamento 0
voldemort Spostare forum da phpbb a Joomla (Fireboard) Joomla 1
S Spostare file hostati con ftp PHP 1
F Spostare un elemento con javascript Javascript 0
moon Impossibile spostare cartella Windows e Software 6
T Spostare banner in cambio di link HTML e CSS 21
N spostare dei file da una directory ad un'altra direttamente sul server PHP 2
P Spostare immagini su un piano. Javascript 2
G Spostare immagini Javascript 2
Interrotto Spostare tabella se compare scrollbar Javascript 0
L non riesco a spostare i fotogrammi helpme come si fa? Flash 14
G Spostare le intestazioni logiche h1 h2 ... HTML e CSS 0
C spostare elementi listbox Javascript 0
J Spostare un immagine con dream.. HTML e CSS 2
T Spostare DIV dinamicamente...come fare? Javascript 3
T spostare immagine HTML e CSS 3
grottafelix All'attenzione dell'amministratore: Spostare immediatamente 3D Supporto Mr.Webmaster 6
M Analisi sito per pulire codice inutile HTML e CSS 1
JeiMax Modifica codice php personalizzato PHP 2
R Dubbi su siti sviluppati con Wordpress e con codice WordPress 6
L tipo boolean non funzionante su mariadb (mysql). E codice php 7.4. PHP 0
L Php_aggiornamento codice PHP 3
Shyson Codice wp-login non funziona PHP 2

Discussioni simili