javascript passe - valeur sélectionnée à partir de la fenêtre popup de la fenêtre parent d'entrée de la boîte de

Je suis la construction d'un formulaire de commande avec PHP et MySQL.

Le PHP il y a une zone de saisie où l'utilisateur saisit un code produit. Dans le cas où l'utilisateur ne connaît pas le code du produit, je veux cliquer sur une image ou sur le bouton à côté de l'entrée de la boîte, ce qui ouvre une fenêtre avec une liste de tous les codes de produit. ils peuvent ensuite cliquez sur le produit qu'ils veulent et le code du produit est passé de la popup à l'entrée de la boîte sur la table en ligne.

J'ai le code de ma page ci-dessous et l'image de la page, il crée de sorte que vous pouvez avoir une idée de ce que je suis désireux de réaliser.

de la page parent

<table border=0  id="hor-minimalist-a"> 
<tr>
<th valign=bottom>KVI</th>
<th valign=bottom>PACK CODE</th>
<th valign=bottom width=250>DESCRIPTION</th>
<th valign=bottom width=40>WHSE</th>
<th valign=bottom width=25>SU</th>
</tr>
<tr id="r1">  
<td>
<input type=checkbox name=kvi1 id=kvi1 value=1>
</td>
<td>
<input size=10  type=number id=sku1 name=sku1 onchange="showUser(1, this.value)">
<input type="button" name="choice" onClick="window.open('sku.php','popuppage','width=400,toolbar=1,resizable=1,scrollbars=yes,height=400,top=100,left=100');" value="?">
</td>
<td>
<div align="left" id="txtHint1">&nbsp;</div>
</td>
<td>
<div align="left" id="whse1">&nbsp;</div>
</td>
<td>
<div align="left" id="su1">&nbsp;</div>
</td>
</tr>
<tr id="r2">  
<td>
<input type=checkbox name=kvi2 id=kvi2 value=2>
</td>
<td>
<input size=10  type=number id=sku2 name=sku2 onchange="showUser(2, this.value)"><img src=q.png>
</td>
<td>
<div align="left" id="txtHint2">&nbsp;</div>
</td>
<td>
<div align="left" id="whse2">&nbsp;</div>
</td>
<td valign=bottom>
<div align="left" id="su2">&nbsp;</div>
</td>
</tr>
<tr id="r3">  
<td>
<input type=checkbox name=kvi3 id=kvi3 value=3>
</td>
<td>
<input size=10  type=number id=sku3 name=sku3 onchange="showUser(3, this.value)"><img src=q.png>
</td>
<td>
<div align="left" id="txtHint3">&nbsp;</div>
</td>
<td>
<div align="left" id="whse3">&nbsp;</div>
</td>
<td>
<div align="left" id="su3">&nbsp;</div>
</td>
</tr>
<tr id="r4">  
<td>
<input type=checkbox name=kvi4 id=kvi4 value=4>
</td>
<td>
<input size=10  type=number id=sku4 name=sku4 onchange="showUser(4, this.value)"><img src=q.png>
</td>
<td>
<div align="left" id="txtHint4">&nbsp;</div>
</td>
<td>
<div align="left" id="whse4">&nbsp;</div>
</td>
<td>
<div align="left" id="su4">&nbsp;</div>
</td>
</tr>
</table>
</form>

javascript passe - valeur sélectionnée à partir de la fenêtre popup de la fenêtre parent d'entrée de la boîte de

le popup code de la page et l'image est ci-dessous:

<?
$con = mysql_connect('localhost', 'dbuser', 'dbpass');
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("databasename", $con);
$skusql="select packcode,category,description,grouping,packconfig,sellingunits,eottpoints from skudata order by category, packcode"; 
$resultsku=mysql_query($skusql); 
?>
<SCRIPT LANGUAGE="JavaScript">
<!-- Begin
function sendValue (s){
var selvalue = s.value;
window.opener.document.getElementById('details').value = selvalue;
window.close();
}
// End -->
</script>
<form name="selectform">
<table border=0 width=1000 id="hor-minimalist-a">
<tr>
<th>Pack Code</th>                      
<th>&nbsp;</th> 
<th>Category</th>  
<th>Product Description</th>
<th>Grouping</th>
<th>Pack Config</th> 
<th>SU</th> 
<th>Points</th> 
</tr>
<?php
while($rows=mysql_fetch_array($resultsku)){
?>
<tr>
<td><input name=details size=5 value="<?php echo $rows['packcode']; ?>"></td>
<td><input type=button value="Select" onClick="sendValue(this.form.details);"</td>
<td><?php echo $rows['category']; ?></td>
<td><center><?php echo $rows['description']; ?></td>
<td><center><?php echo $rows['grouping']; ?></td>
<td><center><?php echo $rows['packconfig']; ?></td>
<td><center><?php echo $rows['sellingunits']; ?></td>
<td><center><?php echo $rows['eottpoints']; ?></td>
</tr>                                   
<?php
}
?>
</table>

javascript passe - valeur sélectionnée à partir de la fenêtre popup de la fenêtre parent d'entrée de la boîte de

Je suis en train de passer la valeur du produit code de la fenêtre de ligne, à la fenêtre parent d'entrée de la case "code pack'

J'ai essayé d'adapter un script, je suis venu à travers, mais ne suis pas en tirant dessus. Toute aide appréciée comme toujours!

Ce qui concerne,
Ryan


MISE À JOUR À LA QUESTION:

DE LA PAGE PARENT:

<html>
<head>
<title>Unilever Sales Portal</title>
<style>
@import url("style.css");
</style>
<script type="text/javascript">  
function showUser(userNumber, str)  
{  
if (str=="")  
{  
document.getElementById("txtHint" + userNumber).innerHTML="";  
return;  
}    
if (window.XMLHttpRequest)  
{//code for IE7+, Firefox, Chrome, Opera, Safari  
xmlhttp=new XMLHttpRequest();  
}  
xmlhttp.onreadystatechange=function()  
{  
if (xmlhttp.readyState==4 && xmlhttp.status==200)  
{  
//document.getElementById("txtHint" + userNumber).innerHTML=xmlhttp.responseText; 
var responseText = xmlhttp.responseText; 
var description = responseText; 
var warehouse = ""; 
var sellingUnits = ""; 
if (responseText.indexOf("NOT A VALID") == -1) 
{ 
description = responseText.substring(12, responseText.indexOf(",Warehouse:"));  
warehouse = responseText.substring(responseText.indexOf(",Warehouse:")+11, responseText.indexOf(",SellingUnits:"));  
sellingUnits = responseText.substring(responseText.indexOf(",SellingUnits:")+15);  
} 
document.getElementById("whse" + userNumber).innerHTML = warehouse;  
document.getElementById("txtHint" + userNumber).innerHTML = description;  
document.getElementById("su" + userNumber).innerHTML = sellingUnits; 
}  
}  
xmlhttp.open("GET","getdata1.php?q="+str,true);  
xmlhttp.send(); 
} 
</script> 
<script type="text/javascript">  
function selectValue(id) 
{ 
//open popup window and pass field id 
window.open('sku.php?id=' + encodeURIComponent(id),'popuppage', 
'width=400,toolbar=1,resizable=1,scrollbars=yes,height=400,top=100,left=100'); 
} 
function updateValue(id, value) 
{ 
//this gets called from the popup window and updates the field with a new value 
document.getElementById(id).value = value; 
} 
</script> 
</head>

SKU.PHP

<? 
$con = mysql_connect('localhost', 'dbuser', 'dbpass'); 
if (!$con) 
{ 
die('Could not connect to server: ' . mysql_error()); 
} 
$db=mysql_select_db("dbname", $con); 
if (!$db) 
{ 
die('Could not connect to DB: ' . mysql_error()); 
} 
$sql="select packcode,category,description,grouping,packconfig,sellingunits,eottpoints from skudata order by category, packcode";
$result=mysql_query($sql);
?> 
<script type="text/javascript"> 
function sendValue(value) 
{ 
var parentId = <?php echo json_encode($_GET['id']); ?>; 
window.opener.updateValue(parentId, value); 
window.close(); 
} 
</script> 
<form name="selectform"> 
<table border=0 width=1000 id="hor-minimalist-a"> 
<tr> 
<th>Pack Code</th>                       
<th>&nbsp;</th>  
<th>Category</th>   
<th>Product Description</th> 
<th>Grouping</th> 
<th>Pack Config</th>  
<th>SU</th>  
<th>Points</th>  
</tr> 
<?php 
while($rows=mysql_fetch_array($result)){
?> 
<tr> 
<td><input name=details size=5 value="<?php echo $rows['packcode']; ?>"></td> 
<td><input type=button value="Select" onClick="sendValue(this.form.details);"</td> 
<td><?php echo $rows['category']; ?></td> 
<td><center><?php echo $rows['description']; ?></td> 
<td><center><?php echo $rows['grouping']; ?></td> 
<td><center><?php echo $rows['packconfig']; ?></td> 
<td><center><?php echo $rows['sellingunits']; ?></td> 
<td><center><?php echo $rows['eottpoints']; ?></td> 
</tr>                                    
<?php 
} 
?> 
</table> 

Voici les images pour montrer le fonctionnement.
de la page parent:

javascript passe - valeur sélectionnée à partir de la fenêtre popup de la fenêtre parent d'entrée de la boîte de

Popup Page:

javascript passe - valeur sélectionnée à partir de la fenêtre popup de la fenêtre parent d'entrée de la boîte de

De la Page Parent après popup

javascript passe - valeur sélectionnée à partir de la fenêtre popup de la fenêtre parent d'entrée de la boîte de

Merci encore pour l'aide.
En ce qui concerne,
Ryan

InformationsquelleAutor Smudger | 2012-04-03