[AJAX] Waarde van radio button wordt niet goed meegepost

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Tom Hes

Tom Hes

27/11/2006 18:51:00
Quote Anchor link
Ik heb een probleem met mijn ajax poll.

De waarde van de gecheckte radiobutton klopt niet.

Hij geeft steeds de waarde aan van de eerste keuze.

Wie kan mij helpen. Heb er al een aantal dagen aan gezwoegd en zie daardoor de oplossing niet meer.

Dit is mijn php-file waarin de poll staat (wordt aangemaakt in een cms):

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
// Formulier
                echo '
                    <div id="ajaxPoll">
                    <form action="javascript:postPoll(document.getElementById(\'myform\'));" name="myform" id="myform">

                    
            <p>
                ';                            
        
                // De antwoorden selecteren
                $select02 = "SELECT * FROM wt_poll_antwoorden WHERE poll_ID='".$row["ID"]."' ORDER BY ID";
                $query02 = QueryDb($select02);
    
                // De antwoorden 1 voor een als radio's echo'en
                while($row02 = mysql_fetch_array($query02)){
                    echo '
                        <input type="radio" name="myradio" value="'.$row02["ID"].'" class="checkbox" />'.$row02["antwoord"].'<br />
                    ';
    
                }
        
                echo '    </p>
                        <input type="hidden" value="'.$row["ID"].'" name="poll_ID" id="poll_ID" />
                        <input type="button" name="button" value="stem!" class="submit" onclick="javascript:postPoll(this.parentNode);" />
                    </form>
                    <span name="myspan" id="myspan"></span>
                    </div>
                ';


en dit is de javascript:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
function postPoll(obj) {
    
    
    var poststr = "?poll_ID=" + encodeURI( document.getElementById("poll_ID").value )
                + "&stem=" + encodeURI( document.getElementById("stem").value )
                ;
      makePollRequest('ajaxPoll.php', poststr);
}


function makePollRequest(url, parameters) {
      http_request = false;
      
    if (window.XMLHttpRequest) {                                             // Mozilla, Safari,...
         http_request = new XMLHttpRequest();
         if (http_request.overrideMimeType) {
            // set type accordingly to anticipated content type
            //http_request.overrideMimeType('text/xml');
            http_request.overrideMimeType('text/html');
         }
      }
    else if (window.ActiveXObject) {                                         // IE
         try {
            http_request = new ActiveXObject("Msxml2.XMLHTTP");
         }
        catch (e) {
            try {
                   http_request = new ActiveXObject("Microsoft.XMLHTTP");
            }
            catch (e) {}
         }
      }
    if (!http_request) {
         alert('Cannot create XMLHTTP instance');
         return false;
      }
    
    alert(url + parameters);
      http_request.onreadystatechange = alertPollContents;
      http_request.open('POST', url + parameters, true);
      http_request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
      http_request.setRequestHeader("Content-length", parameters.length);
      http_request.setRequestHeader("Connection", "close");
      http_request.send(parameters);
}

function alertPollContents() {
      if (http_request.readyState == 4) {
         if (http_request.status == 200) {
            //alert(http_request.responseText);
            result = http_request.responseText;
            document.getElementById('ajaxPoll').innerHTML = result;            
        }
         else {
            alert('Er is een probleem opgetreden met het opvragen van de gegevens.');
        }
      }
}
Gewijzigd op 01/01/1970 01:00:00 door Tom Hes
 
PHP hulp

PHP hulp

17/11/2024 00:52:15
 
Jelmer -

Jelmer -

27/11/2006 19:46:00
Quote Anchor link
Je zou je opties binnen een div kunnen zetten, en dan met getElementsByTagName('input') alle radiobuttons kunnen selecteren. Vervolgens zoek je welke 'checked' is (of was het 'selected'? weet niet meer) en daarvan stuur je de 'value'-waarde op :)
 
Tom Hes

Tom Hes

28/11/2006 02:12:00
Quote Anchor link
Dat had ik ook bedacht, ik weet alleen niet hoe ik dat moet programmeren.
Ik had wat gevonden alleen kreeg ik dat niet aan de praat.



Kun je me helpen waar ik dat tussen moet zetten?
Moet ik dat in postPoll doen? Of ergens anders?
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.