A-AA+then

ช่วยดู code ให้หน่อยครับ

1,248
     $("#submit3").click(function(){
                var textVal = $("input:radio:checked").val();  <----------------------------- อยากเอาค่าที่ได้รับจากตรงนี้
                $("#d3").html(textVal);
    $("#task3").hide();
    $("#run3").show();
            });
    $("#Run3").click(function(){
    $("#run3").hide();
    $("#d3").hide();;
            });
    //--------------------------
        });
     
    function uzXmlHttp(){
    var xmlhttp = false;
    try{
    xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
    }catch(e){
    try{
    xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
    }catch(e){
    xmlhttp = false;
    }
    }
    if(!xmlhttp && document.createElement){
    xmlhttp = new XMLHttpRequest();
    }
    return xmlhttp;
    }
     
    //-------------------Calculate-------------
    function cal1()
    {
    var url = 'cal1.php'; 
    xmlhttp=uzXmlHttp();
    xmlhttp.onreadystatechange = function () { 
    if (xmlhttp.readyState==4){
    if (xmlhttp.status==200) {
    var ret=xmlhttp.responseText; 
    document.getElementById("complete1").innerHTML=ret;
    }
    }
    }
    xmlhttp.open("POST", url);
    xmlhttp.setRequestHeader("If-Modified-Since", ""+ new Date().getTime()+"");
    xmlhttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded;charset=windows-874');
    xmlhttp.send("name="+_________________ ); <-------------  ส่งไปให้อีกไฟล์ตรงนี้
    }
     
    </script>
    
    
    คือผมต้องการที่นำค่าจาก checkbox จากที่ชี้ไว้ข้างบน ส่งให้ไปกับอีกไฟล์ โดยวิธีนี้้
    แต่พอทำแล้ว การส่งมันผิดพลาดตลอด ผมเลยอยากรูปว่าที่ send จะต้องทำการส่งค่าอย่างไรครับ
    
    ขอบคุณครับ

16 ความคิดเห็น

ตอบแบบงูๆ ปลาๆ พาไปอ่ะนะ
ตรงส่วนของ

 $("#submit3").click(function(){
                var textVal = $("input:radio:checked").val();  <----------------------------- อยากเอาค่าที่ได้รับจากตรงนี้
                $("#d3").html(textVal);
    $("#task3").hide();
    $("#run3").show();
            });
    $("#Run3").click(function(){
    $("#run3").hide();
    $("#d3").hide();;
            });
    //--------------------------
    });


กับ

function cal1()
    {
    var url = 'cal1.php'; 
    xmlhttp=uzXmlHttp();
    xmlhttp.onreadystatechange = function () { 
    if (xmlhttp.readyState==4){
    if (xmlhttp.status==200) {
    var ret=xmlhttp.responseText; 
    document.getElementById("complete1").innerHTML=ret;
    }
    }
    }
    xmlhttp.open("POST", url);
    xmlhttp.setRequestHeader("If-Modified-Since", ""+ new Date().getTime()+"");
    xmlhttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded;charset=windows-874');
    xmlhttp.send("name="+_________________ ); <-------------  ส่งไปให้อีกไฟล์ตรงนี้
    }


มันอยู่คนละฟังก์ชั่นกัน

ถ้าเราลองแก้ยั่งงี้

var textVal = $("input:radio:checked").val();  <----------------------------- อยากเอาค่าที่ได้รับจากตรงนี้
    cal1(textVal)
    .......................
    .......................
    .......................
    function cal1(textVal)
    ......................
    ......................
    ......................
    xmlhttp.send("name="+textVal); <-------------  ส่งไปให้อีกไฟล์ตรงนี้

    
    มันจะได้มั๊ยนะ 
1

อ่ออ  ลืมคิดไปมันเปนแบบนี้นิเอง

ขอบคุณมากๆๆเลยครับ
2

ขอถามต่อในนี้เลยได้มั้ยครับ

ถ้าต้องการที่จะใช้ php เรียกใช้ ฟังค์ชั้น javascript โดยที่ส่งค่าตัวแปลจาก php ไปให้ใน javascript ด้วย เราต้องทำอย่างไรครับ
3

<?php
echo "var js_value='$js_value';";
?>

<script>
alert(js_value);
</script>
4

ไม่ออกครับ มันเป็นการพิมพ์ออกมา var js_value=   แบบนี้ครับ

หรือว่ามีวิธีการส่งค่าตัวแปลจาก php ไปอีกไฟล์รึป่าวครับ  โดยไม่ได้ใช้ form ?
5

555+++

แสดงว่าไม่ได้พยายามทำความเข้าใจโค้ดเลย...

หลักการของมันก็แค่ แสดงค่าตัวแปร เท่านั้น

ในตอนเริ่มต้น $js_value ยังไม่มีค่าอะไร กำหนดให้มันก่อนก็ดีครับ

var js_value='xxx'; คือค่าที่ได้จากโค้ด ซึ่งเป็นตัวแปร javscript ส่วนจะเอาตัวแปร js_value ไปใช้ยังไงก็สุดแล้วแต่ความต้องการเช่น

document.location = 'index.php?value=' + js_value;

อ้อ บทความเรื่องนี้มีเขียนบนเว็บครับ ลองหาอ่านดู
6

frown คือผมไม่ได้หมายความว่าอย่างงั้นครับ  

ตอนนี้รู้ละครับผมไม่ได้ใส่ echo '<script type="text/javascript">'; มันเลยไม่ส่งไป


ขอบคุณครับ
7

555+++

ผมก็เขียนข้ามไปเองแหละ laugh
8

ขอมาถามอีกรอบละกันครับ ฮ่าๆๆ ทำไม่ออกซักที

คือผมต้องการจะส่งค่าตัวแปลจาก php ไปให้อีกไฟล์หนึ่ง โดยที่เราไม่ต้องคลิกอะไร 
เช่นแบบว่า ผมเรียกไฟล์ 2.php ขึ้นมาคำนวนอะไรบางอย่าง โดยajax จากไฟล์ 1.php
แล้วจากนั้นผมจะทำการส่งค่าตัวแปลที่คำนวนไว้นั้น กลับไปให้ไฟล์ 1.php อีกทีอะครับ มันทำได้รึป่าว แล้วต้องทำยังไง

ทำจนเบลอละครับไม่ออกซักที ขอบคุณครับ 
9

ถ้าจะส่งค่าจาก php ไปยังไฟล์อื่นด้วย Javascript มี 2 วิธีคือ

1.ใช้วิธี ตามที่ตอบไปแล้ว
2.ใช้ Ajax ส่ง

คำถามให้ข้อมูลมาน้อย  แค่บอกว่าจะส่งค่าจาก php โดยไม่ต้องคลิกเท่านั้น ดังนั้น คำตอบที่ 1 ก็เป็นไปตามเงื่อนไขแล้ว (ลองทดสอบรับค่าที่ index.php ดู)

การจะออกแบบใดๆ มันก็ขึ้นกับความต้องการและความจำเป็นเป็นหลัก ว่าสิ่งที่ทำไว้แล้วมีอะไร และ ต้องการอะไร แล้วถึง เลือกใช้วิธีที่เหมาะสม ซึ่งสามารถทำได้จาก 2  วิธีหลัก ข้างต้น (แต่อาจเป็นล้านวิธีเขียน)

ลองให้ข้อมูลที่คิดว่าจำเป็นมาหน่อยครับ
10

2.php ทำการคำนวนได้ตัวแปล x แล้วทำการแสดงผลหน้านั้นเสร็จ จากนั้นต้องการที่จะส่งตัวแปล x ไปให้ 1.php โดยอัตโนมัต
หลังจากคำนวนเสร็จในทันที โดยที่ 1.php รอรับตัวแปล x อยู่ เพื่อที่จะนำค่านั้นไปคำนวนต่อ ซึ่งผมจะทำการรอรับค่าโดย php:  $_POST 

ตอนนี้ผมก็ทำตามวิธีแรกที่ ส่งตัวแปลจาก php ไปให้ javascript แล้วให้ javascript ส่งไปให้ 1.php แล้วแต่พอรับ
มันกับรับไม่ได้  อาจเกิดจากโค้ดที่ผมใช้ส่งก็ได้ซึ่งตอนนี้ยังลองแก้ไปแก้มาอยู่ครับ ไม่ออกซักที
11

2.php ทำอะไร 1.php ทำอะไร

ทำไมต้องส่งด้วย Javascript ไม่ค่อยเข้าใจ...

ใช้ include ทำแทนได้หรือไม่

เช่น เรียก 2.php เสร็จแล้วก็เอา 1.php มาทำงานต่อ

ผมตอบตามที่อธิบายมานะครับ
12

1.php เป็นหน้าต่างแสดงผลหลัก คือจะแสดงไว้ตลอด
2.php เป็นตัวที่ 1.php ส่งค่าไปคำนวณ และเรียกให้มันแสดงผลออกมาในกรอบเ็ล็กในหน้าต่างของ 1.php โดยการใช้ ajax 

ซึ่งที่ผมต้องการทำคือ คลิกเลือกข้อมูลจาก 1.php ไปคำนวนจาก 2 3 4 5.... แล้วให้ส่งค่าที่คำนวณจากไฟล์ต่างๆนั้น
กลับมาเก็บไว้ในไฟล์ 1.php เพื่อที่จะเอาไปทำงานต่อ โดยที่หน้า 2 3 4 5 นั้นก็ยังแสดงอยู่ในหน้าเดียวกันของไฟล์ 1.php 
คือในหน้านั้นจะเป็นการแสดงผลของทุกไฟล์ ที่อัพเดทออกมาเรื่อยๆ หลังจากกันคลิกเลือกข้อมูลของไฟล์ 1.php

ซึ่งในไฟล์ 2 3 4 5.php นั้นจะเป็นแค่ไฟล์ที่รับค่าจาก 1.php เพื่อทำงานคำนวณและทำการ echo ค่าที่ได้ออกไปเท่านั้นครับ

พอจะเข้าใจบ้างรึเปล่าครับ อธิบายไม่เก่งเท่าไหร่
13

ถ้าผมใช่ php เรียกฟังก์ชันของ javascript 

echo '<script> go(); </script>';

แบบนี้มันถูกรึป่าวครับ ...  แต่ผมลองแล้วมันไม่ออก
ละผมไปดูในเน็ต ก็เห็นบางคนเค้าบอกให้ทำแบบนั้น  ซึ่งผมทำแล้วไม่ออก
14

จริงๆแล้วก็ไม่ค่อยเข้าใจเท่าไร แต่เท่าที่ดู เหมือนเธอยังไม่ได้เข้าใจแนวคิดของ Ajax

Ajax ปกติแล้วคืนค่ากลับมาเป็น Javascript อยู่แล้ว คือที่ responseText ถ้าเอาตัวแปรมารับค่าก็สามารถเอ่ไปใช้ต่อได้เลย

ถ้าสิ่งที่ต้องส่งกลับมีหลายอย่างก็ยังมีตัวเลือก JSON XML หรือ วิธีอื่นๆให้ใช้

นอกจากนี้อาจมีบางสิ่งที่เธอยังไม่รู้ คือ Javascript ในหน้าที่ Ajax เรียกไป จะไม่สามารถใช้งานได้ นอกจากที่ผูกกับ event อาจมีปัญหาในกรณีนี้ก็ได้ ที่ทำให้ไม่สามารถทำงานต่อได้

ลองอ่านบทความบนเว็บประกอบ ครับ ถ้าจะใช้ Ajax คงมีอีกหลายอย่างที่ต้องเรียนรู้
15

ขอบคุณครับ smiley
16
^