2010-01-06 4 views
1

Ci-dessous est mon code PHP.javascript problème sur php

<div class="poller"> 

       <div class="poller_question" id="poller_question2"> 
       <p class="pollerTitle">Would you join a Community Action Committee?</p> 
<p class="pollerOption"><input type="radio" value="6" name="vote[2]" id="pollerOption6"> 
<label for="pollerOption6" id="optionLabel6">Yes</label></p><p class="pollerOption"> 
<input type="radio" value="7" name="vote[2]" id="pollerOption7"><label for="pollerOption7" 
id="optionLabel7">Maybe</label></p><p class="pollerOption"><input type="radio" value="8" 
name="vote[2]" id="pollerOption8"><label for="pollerOption8" id="optionLabel8">No</label></p>   
       <a href="#" onclick="castMyVote(2,document.forms[0])"><imgsrc="images/vote_button.gif" border="0"></a> 

       </div> 
       <div class="poller_waitMessage" id="poller_waitMessage2"> 
        Getting poll results. Please wait... 
       </div> 
       <div class="poller_results" id="poller_results2"> 
       <!-- This div will be filled from Ajax, so leave it empty --></div> 
      </div> 

Bellow est mon code javascript

function castMyVote(pollId,formObj) 
{ 
    var elements = formObj.elements['vote[' + pollId + ']']; 
    var optionId = false; 
    for(var no=0;no<elements.length;no++){ 
     if(elements[no].checked)optionId = elements[no].value; 
    } 
    Poller_Set_Cookie('dhtmlgoodies_poller_' + pollId,'1',6000000); 
    if(optionId){ 

     var ajaxIndex = ajaxObjects.length; 
     ajaxObjects[ajaxIndex] = new sack(); 
     ajaxObjects[ajaxIndex].requestFile = serverSideFile + '?pollId=' + pollId + '&optionId=' + optionId; 
     prepareForPollResults(pollId); 
     ajaxObjects[ajaxIndex].onCompletion = function(){ showVoteResults(pollId,ajaxIndex); }; // Specify function that will be executed after file has been found 
     ajaxObjects[ajaxIndex].runAJAX();  // Execute AJAX function  

    } 
} 

forme php j'appelle une méthode javascript nommé "castMyVote" .La javascript est

var elements = formObj.elements['vote[' + pollId + ']']; 

créer des problèmes? Pourquoi? Comment résoudre? éléments var n'a pas de valeur

+1

Pouvez-vous expliquer quoi et où exactement est votre problème? – junmats

+0

Vous devriez investir dans un formatage. Entre autres choses, il facilite le débogage. –

+0

Quelle est l'erreur que vous obtenez? –

Répondre

0

Essayez

var elements = document.getElementsByName("vote["+pollId+"]"); 
0

Si votre problème est que votre éléments variables ne reçoit pas la valeur correcte, c'est que le deuxième paramètre de votre fonction CastMyVote nécessite un formulaire mais vous n'avez pas de formulaire dans votre code HTML. essayez ceci:

<div class="poller"> 
<form method="post" action="#"> 
       <div class="poller_question" id="poller_question2"> 
       <p class="pollerTitle">Would you join a Community Action Committee?</p> 
<p class="pollerOption"><input type="radio" value="6" name="vote[2]" id="pollerOption6"> 
<label for="pollerOption6" id="optionLabel6">Yes</label></p><p class="pollerOption"> 
<input type="radio" value="7" name="vote[2]" id="pollerOption7"><label for="pollerOption7" 
id="optionLabel7">Maybe</label></p><p class="pollerOption"><input type="radio" value="8" 
name="vote[2]" id="pollerOption8"><label for="pollerOption8" id="optionLabel8">No</label></p>   
       <a href="#" onclick="castMyVote(2,document.forms[0])"><imgsrc="images/vote_button.gif" border="0"></a> 

       </div> 
       <div class="poller_waitMessage" id="poller_waitMessage2"> 
        Getting poll results. Please wait... 
       </div> 
       <div class="poller_results" id="poller_results2"> 
       <!-- This div will be filled from Ajax, so leave it empty --></div> 
</form> 
      </div> 

Je viens de mettre vos divs et entrées à l'intérieur de la forme.

Modifier: votre <imgsrc="images/vote_button.gif" border="0">. erreur de typo?