Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,037

HOME > PHP > PHP Forum > มีปัญหาไม่สามารถเลือก list menu แล้วอยากให้ดึงค่าของตัวแปรไปแสดงใน text box



 

มีปัญหาไม่สามารถเลือก list menu แล้วอยากให้ดึงค่าของตัวแปรไปแสดงใน text box

 



Topic : 076491



โพสกระทู้ ( 9 )
บทความ ( 0 )



สถานะออฟไลน์




คือ อยากให้ เลือก listmenu ประเภทน้ำมัน แล้วแสดงราคาน้ำมัน ลงใน text box
ถ้า ใช้แท็ก div เฉยๆ ก็สามารถแสดงราคาน้ำมันได้ (ที่คอมเม้นไว้อ่ะคะ)
แต่ถ้าลองเป็น text box มันไม่ขึ้นเลยค่ะ ไม่ทราบว่าผิดพลาดตรงไหน
ช่วยทีค่ะ ขอขอบคุณล่วงหน้านะคะ

showOilPrice.js
<script type="text/javascript">
function showOilPrice(str)
{
if (str=="")
  {
  document.getElementById("txtHint").innerHTML="";
  return;
  } 
if (window.XMLHttpRequest)
  {// code for IE7+, Firefox, Chrome, Opera, Safari
  xmlhttp=new XMLHttpRequest();
  }
else
  {// code for IE6, IE5
  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
xmlhttp.onreadystatechange=function()
  {
  if (xmlhttp.readyState==4 && xmlhttp.status==200)
    {
    document.getElementById("txtHint").innerHTML=xmlhttp.responseText;
    }
  }
xmlhttp.open("GET","callWebservice.php?q="+str,true);

xmlhttp.send();
}
</script>


currentOilPrice.php
	<form name="currentOilPrice" method="post">
    ประเภทน้ำมัน/แก๊สรถยนต์ :
    <select id="product" name="product" onchange="showOilPrice(this.value);">
    	<option value="">เลือกประเภทน้ำมัน</option>
        <option value="Blue Gasoline 91">Blue Gasoline 91</option>
        <option value="Blue Diesel">Blue Diesel</option>
        <option value="Blue Gasohol 91">Blue Gasohol 91</option>
        <option value="Blue Gasohol E20">Blue Gasohol E20</option>
        <option value="NGV">NGV</option>
        <option value="Blue Gasohol 95">Blue Gasohol 95</option>
        <option value="DIESEL PALM">DIESEL PALM</option>        
        <option value="Blue Diesel B5">Blue Diesel B5</option>
        <option value="Blue Gasohol E85">Blue Gasohol E85</option>
    </select>
    ราคาน้ำมันลิตรละ : <input id="txtHint" value="" size="10" />
    <!-- <div id="txtHint"></div> -->
    </form>
<?
	$q = $_GET["q"];
	$client = new SoapClient("http://www.pttplc.com/pttinfo.asmx?wsdl");
	$methodName = "CurrentOilPrice";
	$param = array('Language' => 'EN');
	$soapAction = "http://www.pttplc.com/ptt_webservice/CurrentOilPrice";
	$objectResult = $client->__soapCall($methodName,array('parameters'=>$param),array('soapaction' => $soapAction));
	
	//echo $objectResult->CurrentOilPriceResult;
	
	$xmlstr = $objectResult->CurrentOilPriceResult;
	$xml = simplexml_load_string($xmlstr);
	
	$dom = new DOMDocument;
	$dom->loadXML($xmlstr);
	$x = $dom->getElementsByTagName('PRODUCT');
	
	for($i=0;$i<=$x->length-1;$i++)
	{
		if($x->item($i)->nodeType==1)
		{
			if($x->item($i)->childNodes->item(0)->nodeValue == $q)
			{
				$y=($x->item($i)->parentNode);
			}
		}
	}
	
	$oilPrice = ($y->childNodes);
	
	for($i=0;$i<$oilPrice->length;$i++)
	{
		if($oilPrice->item($i)->nodeType==1 && $oilPrice->item($i)->nodeName==PRICE) 
		{
			//echo("<b>".$oilPrice->item($i)->nodeName.":</b>");
			echo($oilPrice->item($i)->childNodes->item(0)->nodeValue);
		}
	}
	

?>




Tag : PHP, JavaScript, Ajax, WebService







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2012-04-01 19:58:59 By : CzPlussiiz View : 1204 Reply : 10
 

 

No. 1



โพสกระทู้ ( 9 )
บทความ ( 0 )



สถานะออฟไลน์


ผู้รู้ช่วยตอบทีนะคะ ยังทำไม่ได้เลย T^T






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-04-02 21:05:46 By : CzPlussiiz
 


 

No. 2



โพสกระทู้ ( 9 )
บทความ ( 0 )



สถานะออฟไลน์


T^T ไม่มีใครรู้เลยหรอคะ ช่วยทีนะ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-04-06 14:14:11 By : CzPlussiiz
 

 

No. 3



โพสกระทู้ ( 288 )
บทความ ( 0 )



สถานะออฟไลน์


ลองเปลี่ยน

Code
document.getElementById("txtHint").innerHTML=xmlhttp.responseText;


เป็น

Code
document.getElementById("txtHint").value=xmlhttp.responseText;

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-04-06 14:23:31 By : ทองมี
 


 

No. 4



โพสกระทู้ ( 9 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 3 เขียนโดย : ทองมี เมื่อวันที่ 2012-04-06 14:23:31
รายละเอียดของการตอบ ::
ขอบคุณค่ะ
แต่ยังไม่ได้เลยอะคะ มันขึ้น โค้ดทั้งหมดในกล่องข้อความเลย T^T

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-04-06 15:19:51 By : CzPlussiiz
 


 

No. 5



โพสกระทู้ ( 288 )
บทความ ( 0 )



สถานะออฟไลน์


xmlhttp.responseText มันรีเทิร์นอะไรกลับมาบ้างครับ (ผมนึกว่ามันรีเทิร์นเฉพาะตัวเลขราคา)


ประวัติการแก้ไข
2012-04-06 15:24:32
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-04-06 15:23:19 By : ทองมี
 


 

No. 6



โพสกระทู้ ( 9 )
บทความ ( 0 )



สถานะออฟไลน์


ลอง alert ดู มัน return โค้ดทั้งหน้าเลยค่ะ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-04-06 15:32:42 By : CzPlussiiz
 


 

No. 7



โพสกระทู้ ( 288 )
บทความ ( 0 )



สถานะออฟไลน์


ลองเอาโค้ดหน้า callWebservice.php มาดูหน่อยครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-04-06 15:58:01 By : ทองมี
 


 

No. 8



โพสกระทู้ ( 9 )
บทความ ( 0 )



สถานะออฟไลน์


นี่ค่ะ ช่วยดูให้ทีนะคะ

callWebservice.php
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Call CurrentOilPrice - PTT Web Service</title>

<script type="text/javascript">
function showOilPrice(str)
{
if (str=="")
  {
  document.getElementById("txtHint").innerHTML="";
  return;
  } 
if (window.XMLHttpRequest)
  {// code for IE7+, Firefox, Chrome, Opera, Safari
  xmlhttp=new XMLHttpRequest();
  }
else
  {// code for IE6, IE5
  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
xmlhttp.onreadystatechange=function()
  {
  if (xmlhttp.readyState==4 && xmlhttp.status==200)
    {
    document.getElementById("txtHint").innerHTML=xmlhttp.responseText;
	//alert(xmlhttp.responseText);
    }
  }
xmlhttp.open("GET","callWebservice.php?q="+str,true);

xmlhttp.send();
}
</script>

</head>

<body>
	<form name="currentOilPrice" method="post">
    ประเภทน้ำมัน/แก๊สรถยนต์ :
    <select id="product" name="product" onchange="showOilPrice(this.value);">
    	<option value="">เลือกประเภทน้ำมัน</option>
        <option value="Blue Gasoline 91">Blue Gasoline 91</option>
        <option value="Blue Diesel">Blue Diesel</option>
        <option value="Blue Gasohol 91">Blue Gasohol 91</option>
        <option value="Blue Gasohol E20">Blue Gasohol E20</option>
        <option value="NGV">NGV</option>
        <option value="Blue Gasohol 95">Blue Gasohol 95</option>
        <option value="DIESEL PALM">DIESEL PALM</option>        
        <option value="Blue Diesel B5">Blue Diesel B5</option>
        <option value="Blue Gasohol E85">Blue Gasohol E85</option>
    </select>
    ราคาน้ำมันลิตรละ : <input id="txtHint" value="" size="10" />
    <!--<span id="txtHint"></span>-->
    </form>

<?
	$q = $_GET["q"];
	$client = new SoapClient("http://www.pttplc.com/pttinfo.asmx?wsdl");
	$methodName = "CurrentOilPrice";
	$param = array('Language' => 'EN');
	$soapAction = "http://www.pttplc.com/ptt_webservice/CurrentOilPrice";
	$objectResult = $client->__soapCall($methodName,array('parameters'=>$param),array('soapaction' => $soapAction));
	
	//echo $objectResult->CurrentOilPriceResult;
	
	$xmlstr = $objectResult->CurrentOilPriceResult;
	$xml = simplexml_load_string($xmlstr);
	
	$dom = new DOMDocument;
	$dom->loadXML($xmlstr);
	$x = $dom->getElementsByTagName('PRODUCT');
	
	for($i=0;$i<=$x->length-1;$i++)
	{
		if($x->item($i)->nodeType==1)
		{
			if($x->item($i)->childNodes->item(0)->nodeValue == $q)
			{
				$y=($x->item($i)->parentNode);
			}
		}
	}
	
	$oilPrice = ($y->childNodes);
	
	for($i=0;$i<$oilPrice->length;$i++)
	{
		if($oilPrice->item($i)->nodeType==1 && $oilPrice->item($i)->nodeName==PRICE) 
		{
			//echo("<b>".$oilPrice->item($i)->nodeName.":</b>");
			echo($oilPrice->item($i)->childNodes->item(0)->nodeValue);
		}
	}
	
	/*for($i=0;$i<$oilPrice->length;$i++)
	{
		if($oilPrice->item($i)->nodeType==1)
		{
			echo("<b>".$oilPrice->item($i)->nodeName.":</b>");
			echo($oilPrice->item($i)->childNodes->item(0)->nodeValue);
			echo("<br />");
		}
	}*/
	
	
	
	//echo $xml;
	
	/*foreach($xml->Table as $price){
		echo "ราคาน้ำมัน".$price->PRICE;
		echo "<br>";
	}*/
?>

</body>
</html>

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-04-06 16:01:44 By : CzPlussiiz
 


 

No. 9



โพสกระทู้ ( 9 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 7 เขียนโดย : ทองมี เมื่อวันที่ 2012-04-06 15:58:01
รายละเอียดของการตอบ ::
ขอบคุณนะคะคุณทองมี ตอนนี้สามารถทำได้แล้ว คือลองเอาไฟล์ php ที่ดึงข้อมูลจากเว็บ service แยกออกไป
แล้วเปลี่ยน
document.getElementById("txtHint").value=xmlhttp.responseText;

อย่างที่คุณบอก ก็สามารถ ดึงค่ามาแสดงบน text box ได้แล้วค่ะ ^^

แต่ขอรบกวนอีกนิดนะคะ ถ้าเกิดอยากจะเอาโค้ดมาไว้ด้วยกันนี่ ต้องทำยังไงอ่ะคะ


showOilprice.php
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
<script type="text/javascript">
function showOilPrice(str)
{
if (str=="")
  {
  document.getElementById("txtHint").innerHTML="";
  return;
  } 
if (window.XMLHttpRequest)
  {// code for IE7+, Firefox, Chrome, Opera, Safari
  xmlhttp=new XMLHttpRequest();
  }
else
  {// code for IE6, IE5
  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
xmlhttp.onreadystatechange=function()
  {
  if (xmlhttp.readyState==4 && xmlhttp.status==200)
    {
    document.getElementById("txtHint").value=xmlhttp.responseText;
	//alert(xmlhttp.responseText);
    }
  }
xmlhttp.open("GET","currentOilPrice.php?q="+str,true);

xmlhttp.send();
}
</script>
</head>

<body>
<form name="currentOilPrice" method="post">
    ประเภทน้ำมัน/แก๊สรถยนต์ :
    <select id="product" name="product" onchange="showOilPrice(this.value);">
    	<option value="">เลือกประเภทน้ำมัน</option>
        <option value="Blue Gasoline 91">Blue Gasoline 91</option>
        <option value="Blue Diesel">Blue Diesel</option>
        <option value="Blue Gasohol 91">Blue Gasohol 91</option>
        <option value="Blue Gasohol E20">Blue Gasohol E20</option>
        <option value="NGV">NGV</option>
        <option value="Blue Gasohol 95">Blue Gasohol 95</option>
        <option value="DIESEL PALM">DIESEL PALM</option>        
        <option value="Blue Diesel B5">Blue Diesel B5</option>
        <option value="Blue Gasohol E85">Blue Gasohol E85</option>
    </select>
    ราคาน้ำมันลิตรละ : <input id="txtHint" value="" size="10" />
    <!--<span id="txtHint"></span>-->
    </form>
</body>
</html>



currentOilPrice.php
<?
	$q = $_GET["q"];
	$client = new SoapClient("http://www.pttplc.com/pttinfo.asmx?wsdl");
	$methodName = "CurrentOilPrice";
	$param = array('Language' => 'EN');
	$soapAction = "http://www.pttplc.com/ptt_webservice/CurrentOilPrice";
	$objectResult = $client->__soapCall($methodName,array('parameters'=>$param),array('soapaction' => $soapAction));
	
	//echo $objectResult->CurrentOilPriceResult;
	
	$xmlstr = $objectResult->CurrentOilPriceResult;
	$xml = simplexml_load_string($xmlstr);
	
	$dom = new DOMDocument;
	$dom->loadXML($xmlstr);
	$x = $dom->getElementsByTagName('PRODUCT');
	
	for($i=0;$i<=$x->length-1;$i++)
	{
		if($x->item($i)->nodeType==1)
		{
			if($x->item($i)->childNodes->item(0)->nodeValue == $q)
			{
				$y=($x->item($i)->parentNode);
			}
		}
	}
	
	$oilPrice = ($y->childNodes);
	
	for($i=0;$i<$oilPrice->length;$i++)
	{
		if($oilPrice->item($i)->nodeType==1 && $oilPrice->item($i)->nodeName==PRICE) 
		{
			//echo("<b>".$oilPrice->item($i)->nodeName.":</b>");
			echo($oilPrice->item($i)->childNodes->item(0)->nodeValue);
		}
	}
	
	/*for($i=0;$i<$oilPrice->length;$i++)
	{
		if($oilPrice->item($i)->nodeType==1)
		{
			echo("<b>".$oilPrice->item($i)->nodeName.":</b>");
			echo($oilPrice->item($i)->childNodes->item(0)->nodeValue);
			echo("<br />");
		}
	}*/
	
	
	
	//echo $xml;
	
	/*foreach($xml->Table as $price){
		echo "ราคาน้ำมัน".$price->PRICE;
		echo "<br>";
	}*/
?>

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-04-06 16:28:49 By : CzPlussiiz
 


 

No. 10



โพสกระทู้ ( 288 )
บทความ ( 0 )



สถานะออฟไลน์


คือปกติ responseText มันจะคืนค่าข้อความในไฟล์นั้น ๆ ที่ถูกสั่งให้แสดง มาทั้งหมด ผมเลยคาดว่าน่าจะไม่ได้อ่าครับ (หรือไม่ลองตั้งหัวข้อใหม่ถามดูครับ เดี๋ยวพวกพี่วินน่าจะมาให้คำตอบที่ชัวร์ๆให้ได้)
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-04-06 17:07:49 By : ทองมี
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : มีปัญหาไม่สามารถเลือก list menu แล้วอยากให้ดึงค่าของตัวแปรไปแสดงใน text box
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 03
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2024 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่