drkstr Posted August 25, 2006 Share Posted August 25, 2006 Hello, sorry for the dumb question, but my js is working like I was expecting it to. I know nothing about javascript, but I need to use it in my php script since there is no easy way to do what I need without it.What I need to do is print out a list of radio buttons, then have a few buttons at the bottom of the form with onclick's that call the apropriate function with this.form as a parameter. I then need to find out which radio button was selected by accessing the value in the function. However, it comes back undefined.[code]<form action="select_user.php" method="POST"> <?php #print selection list of users. note: select_user.php is this file$arNames = retriveAllUserNames(); # get a list of users from DBforeach ( $arNames as $strName) { # assign elemnt in array to $strName until none left print "<input type=\"radio\" name=\"selectedUser\" value=\"" .$strName. "\" />" .$strName; print "<br>\n";}?><br /><input type="button" value="Edit" onclick="javascript:callEditUser(this.form)" /><input type="button" value="Delete" onclick="javascript:callDeleteUser(this.form)" /></form>[/code]My Java script section looks like this. [code]function callEditUser( selectUserForm ) { var strName = selectUserForm.selectedUser.value; var url = "edit_user.php?name="+strName document.write(url); //debug // window.open(url, "_self");}function callDeleteUser( selectUserForm ) { var strName = selectUserForm.selectedUser.value; if (confirm(strConfirmMsg) ) { var url = "delete_user.php?name="+strName document.write(url); //debug // window.open(url, "_self"); }}[/code]This is what prints to the screen when I hit a button:edit_user.php?name=undefinedThis is how actually get's printed (from view->source in browser)[code]<form action="/select_user.php" method="POST"><input type="radio" name="selectedUser" value="admin" />admin<br><input type="radio" name="selectedUser" value="drkstr" />drkstr<br><br /><input type="button" value="Edit" onclick="javascript:callEditUser(this.form)" /><input type="button" value="Delete" onclick="javascript:callDeleteUser(this.form)" /></form>[/code] Link to comment https://forums.phpfreaks.com/topic/18616-accessing-the-vaule-of-multiple-radio-buttons/ Share on other sites More sharing options...
radalin Posted August 25, 2006 Share Posted August 25, 2006 replace this:[code]<input type="radio" name="selectedUser" value="admin" />admin<br>[/code]with[code]<input type="radio" name="selectedUser" id="selectedUser" value="admin" />admin<br>[/code]and do the changement for every radio button.your form tag should be[code]<form id="selectUserForm" ....>[/code]then in your js change[code]var strName = selectUserForm.selectedUser.value;[/code]with[code]var strName = document.getElementById('selectUserForm').selectedUser.value;[/code]it should work Link to comment https://forums.phpfreaks.com/topic/18616-accessing-the-vaule-of-multiple-radio-buttons/#findComment-80287 Share on other sites More sharing options...
drkstr Posted August 25, 2006 Author Share Posted August 25, 2006 [quote author=radalin link=topic=105572.msg421872#msg421872 date=1156504561]replace this:[code]<input type="radio" name="selectedUser" value="admin" />admin<br>[/code]with[code]<input type="radio" name="selectedUser" id="selectedUser" value="admin" />admin<br>[/code]and do the changement for every radio button.your form tag should be[code]<form id="selectUserForm" ....>[/code]then in your js change[code]var strName = selectUserForm.selectedUser.value;[/code]with[code]var strName = document.getElementById('selectUserForm').selectedUser.value;[/code]it should work[/quote]Thanks for the help radalin. It's still coming back undefined though.This is now what's getting printed to the html source:[code]//note: < > removed from SCRIPT tags since it wouldn't let me post it like thatSCRIPT language="javascript"function callEditUser( selectUserForm ) { var strName = document.getElementById('selectUserForm').selectedUser.value; var url = "/edit_user.php?name="+strName; document.write(url); // window.open(url, "_self");}function callDeleteUser( selectUserForm ) { var strName = document.getElementById('selectUserForm').selectedUser.value; var url = "/delete_user.php?name="+strName; document.write(url); // window.open(url, "_self"); }}/SCRIPT[/code][code]<!-- note: select_user.php is this file --><form id="selectUserForm" action="/select_user.php" method="POST"><input type="radio" name="selectedUser" id="selectedUser" value="admin" />admin<br><input type="radio" name="selectedUser" id="selectedUser" value="drkstr" />drkstr<br><br /><input type="button" value="Edit" onclick="javascript:callEditUser(this.form)" /><input type="button" value="Delete" onclick="javascript:callDeleteUser(this.form)" /></form>[/code]Did I miss something small? Thanks again!...drkstr Link to comment https://forums.phpfreaks.com/topic/18616-accessing-the-vaule-of-multiple-radio-buttons/#findComment-80341 Share on other sites More sharing options...
drkstr Posted August 25, 2006 Author Share Posted August 25, 2006 I've been reading up on javascript, and I noticed that checkbox elements are are accessed through an array ( form.elements[num].value. Do I need to do the same with the radio buttons? If so, what's the easiest way to see which element is checked? Or should I just loop though until I find it?Thanks!...drkstr Link to comment https://forums.phpfreaks.com/topic/18616-accessing-the-vaule-of-multiple-radio-buttons/#findComment-80389 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.