Javascript popup selector + PHP -
i have, of community written javascript , php page allows me pass value popup page parent page.
this works 100% on internet explorer not in google chrome or on ipad / galaxt tablet.
any idea on how can corrected? appreciated always.
below portions of code parent page(newsale.php) , popup page(sku.php). know other methods recommended on using popup need solution working popup page application reasons.
newsale.php parent page (code snippets, not entire page)
<script type="text/javascript"> function selectvalue(id) { // open popup window , pass field id window.open('sku.php?id=' + encodeuricomponent(id),'popuppage', 'width=1000,toolbar=1,resizable=1,scrollbars=yes,height=200,top=100,left=100'); } function updatevalue(id, value) { // gets called popup window , updates field new value document.getelementbyid(id).value = value; } </script> <table> <tr id="r1"> <input size=10 type=number id=sku1 name=sku1 onchange="showuser(1, this.value)" <? if($rows>0){echo "value=".mysql_result($resultorder,0,1);} ?>><img src=q.png name="choice" onclick="selectvalue('sku1')" value="?"> </td> </tr> <tr id="r2"> <td> <input size=10 type=number id=sku2 name=sku2 onchange="showuser(2, this.value)" <? if($rows>1){echo "value=".mysql_result($resultorder,1,1);} ?> ><img src=q.png name="choice" onclick="selectvalue('sku2')" value="?"> </td> </tr> </table>
sku.php popup page (entire page)
<? $con = mysql_connect('localhost', 'username', 'password'); if (!$con) { die('could not connect server: ' . mysql_error()); } $db=mysql_select_db("dbname", $con); if (!$db) { die('could not connect db: ' . mysql_error()); } $sql="select packcode,category,description,grouping,packconfig,sellingunits,eottpoints skudata order category, packcode"; $result=mysql_query($sql); ?> <script type="text/javascript"> function ajaxfunction(cat_id) { var httpxml; try { // firefox, opera 8.0+, safari httpxml = new xmlhttprequest(); } catch (e) { // internet explorer try { httpxml = new activexobject("msxml2.xmlhttp"); } catch (e) { try { httpxml = new activexobject("microsoft.xmlhttp"); } catch (e) { alert("your browser not support ajax!"); return false; } } } function stateck() { if (httpxml.readystate == 4) { var myarray = eval(httpxml.responsetext); // before adding new must remove loaded elements (j = document.testform.subcat.options.length - 1; j >= 0; j--) { document.testform.subcat.remove(j); } (i = 0; < myarray.length; i++) { var optn = document.createelement("option"); optn.text = myarray[i]; optn.value = myarray[i]; document.testform.subcat.options.add(optn); } } } var url="dd.php"; url = url+"?cat_id="+cat_id; url = url+"&sid="+math.random(); httpxml.onreadystatechange = stateck; httpxml.open("get",url,true); httpxml.send(null); } </script> <script type="text/javascript"> function sendvalue(value) { var e = document.getelementbyid("subcat"); value = e.options[e.selectedindex].value; var parentid = <?php echo json_encode($_get['id']); ?>; window.opener.updatevalue(parentid, value); window.close(); } </script> <script type="text/javascript"> function updateinput(){ var e = document.getelementbyid("subcat"); var catselected = e.options[e.selectedindex].value; document.getelementbyid("copycat").value=catselected; } </script> <form name="testform"> category: <select name=cat id=cat onchange="ajaxfunction(this.value);" style="width=300"> <br> <option value='' style="width=300">select one</option> <br> <? require "config.php";// connection database $q=mysql_query("select * categories"); while($n=mysql_fetch_array($q)){ echo "<option value=$n[cat_id]>$n[category]</option>"; } ?> </select> <br><br> pack code: <select name=subcat onchange="updateinput();" > <br><br> </select> <br><br> <input type=hidden name=copycat id=copycat > <td><input type=button value="select" onclick="sendvalue(document.getelementbyid(copycat))" /></td> </form>
dd.php (for dynamic drop down list)
<? $cat_id=$_get['cat_id']; require "config.php"; $q=mysql_query("select concat(packcode,', ',description) details skudata cat_id='$cat_id'"); echo mysql_error(); $myarray=array(); $str=""; while($nt=mysql_fetch_array($q)){ $str=$str . "\"$nt[details]\"".","; } $str=substr($str,0,(strlen($str)-1)); // removing last char , string echo "new array($str)"; ?>
i dont think dd.php has influence on functionality of parent popup relationship have included can follow code.
as mentioned works 100% on internet explorer not in google chrome or ipad.
when use
document.getelementbyid("subcat");
then should have element such id. your
<select name=subcat onchange="updateinput();" >
won't browsers chrome, firefox, konqueror , lots of others. use
<select id="subcat" onchange="updateinput();" >
instead.
Comments
Post a Comment