Aiuto sto impazzendo!!! multi Form Ajax php

di il
1 risposte

Aiuto sto impazzendo!!! multi Form Ajax php

Innanzitutto buona sera sono novellino di questo forum.
sono uno sviluppatore web di 21 anni .
allora in poche parole stampo dinamicamente con php degli piccoli articoli su una pagina ogni articolo al fonda ha il suo form di commento quindi mi ritrovo un apgina con 50-60 form da inviare ho il problema che questa funzione ajax mi invia solo il primo form che trova sulla pagina come posso risolvere.
questa e la funzione ajax:
 <script type="text/javascript" >
    $(function() {
    $(".submit").click(function() 
    {
    var name = $("#name").val();
    var comment = $("#comment").val();
    var post_id = $("#post").val(); 
    var dataString = 'name='+ name  + '&comment=' + comment+ '&post_id=' + post_id;
    if(name==''  || comment=='')
    {
    alert('Please Give Valid Details');
    }
    else
    {
    $("#flash").show();
    $("#flash").fadeIn(400).html('<img src="images/loading.gif" />Loading Comment...');
    $.ajax({
    type: "POST",
    url: "commenti.php",
    data: dataString,
    cache: false,
    success: function(html){
    $("ol#update").append(html);
    $("ol#update li:last").fadeIn("slow");
    $("#flash").hide();
    }
    });
    }return false;
    });
    });   
<script>
e questi sono degli esempi dei mille form che ho sulla stessa pagina:
<ol id="update" class="timeline">
</ol>
    <div id="flash"></div>
    <div >
    <form action="#" method="post">
    <input type="hidden" id="post" value="<?php echo $post_id; ?>"/>
    <input type="hidden" id="name" value="<?php echo $username; ?>"/> 
    <textarea id="comment"></textarea><br />
    <input type="submit" class="submit" value=" Submit Comment " />
    </form>
    </div>

 <ol id="update" class="timeline">
</ol>
    <div id="flash"></div>
    <div >
    <form action="#" method="post">
    <input type="hidden" id="post" value="<?php echo $post_id; ?>"/>
    <input type="hidden" id="name" value="<?php echo $username; ?>"/> 
    <textarea id="comment"></textarea><br />
    <input type="submit" class="submit" value=" Submit Comment " />
    </form>
    </div>

 <ol id="update" class="timeline">
</ol>
    <div id="flash"></div>
    <div >
    <form action="#" method="post">
    <input type="hidden" id="post" value="<?php echo $post_id; ?>"/>
    <input type="hidden" id="name" value="<?php echo $username; ?>"/> 
    <textarea id="comment"></textarea><br />
    <input type="submit" class="submit" value=" Submit Comment " />
    </form>
    </div>

1 Risposte

  • Re: Aiuto sto impazzendo!!! multi Form Ajax php

    Innanzitutto l'attributo id deve essere univoco nella pagina (il browser non ti dice niente, ma il senso dell'id è proprio quello di essere un identificatore univoco, mentre il name puoi ripeterlo).

    Detto ciò, se assegni un id anche al submit e rendi univoci gli id numerandoli in base al form di appartenenza (ad esempio comment_1, comment_2, submit_1, submit_2), catturando il numero dal submit cliccato riesci a ritrovare i campi del form relativi.
    Questa è la prima soluzione che mi è venuta in mente. Probabilmente, manipolando il DOM con js potresti trovare una soluzione più elegante.

    ciao
Devi accedere o registrarti per scrivere nel forum
1 risposte