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] Quote Link to comment 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 Quote Link to comment 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 Quote Link to comment 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 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.