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,027

HOME > .NET Framework > Forum > การรับค่าจากการใช้ javascript prompt ใน master page ไม่ได้



 

การรับค่าจากการใช้ javascript prompt ใน master page ไม่ได้

 



Topic : 109819



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



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




เรื่องมีอยู่ว่า....
ผมจะทำปุ่มเมื่อกดแล้วให้มี prompt โดยใช้ javascript แล้วรับค่ามาประมวลผลฝั่ง code behind ครับ
แต่ว่า มันไม่ได้ครับ ผมเลยลองๆหลายวิธีดู สังเกตุได้ความแตกต่างว่า
-ถ้าผมมี master page แล้ว ทำ prompt ในหน้า content page ทุกอย่างทำงานปกติหมดครับ แต่รับค่าที่พิมส่งมาไม่ได้เลยครับ
-ถ้าผมทำแบบไม่มี master page ไม่มี content มันจะรับส่งค่าได้ปกติเลยครับ



Tag : ASP, VB.NET, Web Service







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2014-07-09 12:31:36 By : suck9999 View : 1205 Reply : 10
 

 

No. 1



โพสกระทู้ ( 74,058 )
บทความ ( 838 )

สมาชิกที่ใส่เสื้อไทยครีเอท

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

ตัวอย่างที่เขียนไว้ไหม๊ครับ ว่ามันส่งไปแบบบไหน ?






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-07-09 17:22:24 By : mr.win
 


 

No. 2



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



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


อันนี้โค๊ด แบบไม่ใช่ content เป็นหน้าธรรมดาเลยครับ
behind:

Code (VB.NET)
Public Class WebForm7
    Inherits System.Web.UI.Page
    Protected Sub Button1_Click(ByVal sender As Object, ByVal e As EventArgs) Handles Button1.Click
        Response.Write(Hidden1.Value)
        MsgBox(Hidden1.Value)
    End Sub
End Class


html:

<%@ Page Language="vb" AutoEventWireup="false" CodeBehind="WebForm7.aspx.vb" Inherits="SlipPut.WebForm7" %>

<!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 runat="server">
    <title></title>
</head>
<script type="text/javascript">
    function abc() {
        var str = "ทดสอบ";
        document.getElementById("Hidden1").value = str;
    }


</script>
<body>
    <form id="form1" runat="server">
    <div>
        <input id="Hidden1" type="hidden" runat="server" />
        <asp:Button ID="Button1" runat="server" OnClientClick="abc()"  Text="Button"
            onclick="Button1_Click" />
    </div>
    </form>
</body>
</html>


โค๊ดแบบเป็น content ซึ่งค่าคำว่า "ทดสอบ" จะไม่แสดง หรือตามที่ผมคิดคือ ค่ามันไม่แสดงออกมา แต่ msgbox ก็ขึ้นปกติ แต่ค่ามันว่างๆโล่งๆครับ

Behind:

Code (VB.NET)
Public Class WebForm8
    Inherits System.Web.UI.Page
    Protected Sub Button1_Click(ByVal sender As Object, ByVal e As EventArgs) Handles Button1.Click
        Response.Write(Hidden1.Value)
        MsgBox(Hidden1.Value)
    End Sub
End Class


html:

<%@ Page Title="" Language="vb" AutoEventWireup="false" MasterPageFile="~/main.Master" CodeBehind="WebForm8.aspx.vb" Inherits="SlipPut.WebForm8" %>
<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">
<script type="text/javascript">
    function abc() {
        var str = "ทดสอบ";
        document.getElementById("Hidden1").value = str;
    }
</script>
    <div>
        <input id="Hidden1" type="hidden" runat="server" />
        <asp:Button ID="Button1" runat="server" OnClientClick="abc()"  Text="Button"
            onclick="Button1_Click" />
    </div>
</asp:Content>



ปล.อันนี้เป็นแบบโค๊ดง่ายๆครับ ไม่ใช่ prompt เดียวผมปรับใช้อีกทีครับ ขอบคุณครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-07-10 16:17:07 By : suck9999
 

 

No. 3



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



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


ตรงส่วนที่ใช้งาน Master Page แล้วไม่แสดงอาจเป็นเพราะว่าไม่ได้ใส่อันนี้หรือเปล่าครับ

Code
<form id="form1" runat="server">
</form>

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-07-10 17:25:12 By : heartbeat
 


 

No. 4



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



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


ลองแก้ type='hidden' เป็น type='text' ลองดูก่อนไหมครับ

อันบนมีฟอร์มครอบ
แต่อันล่างทำไมไม่มีครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-07-10 17:30:45 By : Chaidhanan
 


 

No. 5



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



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


ในกรณีที่ใช้ Master Page ผมอธิบายตามที่ผมเข้าใจครับ
--- Server Controls ทุกตัว ID มันจะเปลี่ยนไป คลับคล้ายคลับคลาว่าเป็น ctl00_ContentPlaceHolder1_Hidden1

Code (JavaScript)
document.getElementById("Hidden1").value = str;
//ลองดูซิเผื่อฟลุกครับ
document.getElementById("ctl00_ContentPlaceHolder1_Hidden1").value = str;

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-07-10 18:04:04 By : หน้าฮี
 


 

No. 6



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



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


HeartBeat= ใส่แล้วจะ error ดังนี้ครับ

Server Error in '/' Application.
A page can have only one server-side Form tag.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.Web.HttpException: A page can have only one server-side Form tag.

Source Error:

An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.

แต่ถ้าเอาออกจะใช้ได้ปกติเลยครับ แต่ค่าจะไม่ตอบกลับมา

Chaidhanan= ลองแล้วครับ เป็นค่าว่างๆกลับมาเหมือนกันครับ /ถ้าใส่ฟอร์ทจะ error ครับ

หน้าฮี= อยากให้คุณอธิบายส่วน ctl00_ContentPlaceHolder1_Hidden1 เพิ่มหน่อยครับ ว่าจะรู้ได้อย่างไหร่ว่าชื่อข้างหน้าต้องเป็นอะไรครับ

ขอบคุณทุกท่านครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-07-11 08:00:47 By : suck9999
 


 

No. 7



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



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


<form id="form1" runat="server">
<div>
<input id="Hidden1" type="hidden" runat="server" />
<asp:Button ID="Button1" runat="server" OnClientClick="abc()" Text="Button"
onclick="Button1_Click" />
</div>


runat="server" ให้มีอันเดียว ใน <form> ครับ อันอื่นเอาออก

Server Error in '/' Application.
A page can have only one server-side Form tag.
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-07-11 08:27:58 By : Chaidhanan
 


 

No. 8



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



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


ตอบความคิดเห็นที่ : 7 เขียนโดย : Chaidhanan เมื่อวันที่ 2014-07-11 08:27:58
รายละเอียดของการตอบ ::


เมื่อเช้าไปทำบุญใส่บาตรพระสงฆ์มาแล้วได้ตั้ง 9 รูปแน่ะ อีกสักพักหนึ่งจะพาแม่ยายและภรรยาไปทำบุญต่อที่
วัดพระพุทธบาท จ.สระบุรี

วันพรุ่งนี้ก็จะพาแม่ยายและภรรยาไปทำบุญที่วัดบ้านแหลม จ.สมุทรสงคราม


@ คุณตาครับ
Master Page ก็คือคำสั่ง include('xxx.php'); นั่นแหละครับ
แต่มันอุดช่องโหว่และทำได้สมบูรณ์แบบกว่า PHP

@ suck9999
สาระสำคัญมันหายไปครับ main.Master
พูดถึงวิธีปลูกต้นมะขาม แต่คุณยกตัวอย่าง ผลมะละกอสุกมาให้ดู

File main.Master
Code (VB.NET)
<%@ Master Language="VB" AutoEventWireup="false" CodeBehind="main.master.vb" Inherits="SlipPut.main" %>

<!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 runat="server">
    <title></title>
    <asp:ContentPlaceHolder ID="head" runat="server">
    </asp:ContentPlaceHolder>
</head>
<body>
    <form id="form1" runat="server">
        <asp:ContentPlaceHolder ID="ContentPlaceHolder1" runat="server">

        </asp:ContentPlaceHolder>
    </form>
</body>
</html>


สังเกตุว่า บรรทัดที่ 14. สำหรับแสดงเนื้อหา PageA, PageB, PageC, ... ทั้งหลายแหล่
ต้องรีบไปแล้ว ไม่มีเวลาอธิบายแล้ว
สรุปจริงฯมันต้องใช้แบบนี้ครับ


<%=ServerControlID.ClientID%>


ประวัติการแก้ไข
2014-07-11 08:53:40
2014-07-11 08:57:02
2014-07-11 08:57:19
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-07-11 08:50:15 By : หน้าฮี
 


 

No. 9



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



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


ได้แล้วครับ
คือถ้ามันอยู่ใน content page แล้วจะเอา control มาใช้ในฝั่ง html มันจะเปลี่ยนชื่อ control นั้นๆครับ
ที่นึกอันนี้ออกได้เพราะ คุณ หน้าฮี ขอบคุณครับ
แต่อันสุดท้ายงงมาก แต่ก็ขอบคุณครับ ^^"

<%@ Page Title="" Language="vb" AutoEventWireup="false" MasterPageFile="~/main.Master" CodeBehind="WebForm8.aspx.vb" Inherits="SlipPut.WebForm8" %>
<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">
<script type="text/javascript">
    function abc() {
        var str = "ทดสอบ";
        document.getElementById("ContentPlaceHolder1_Hidden1").value = str;
        alert(document.getElementById("ContentPlaceHolder1_Hidden1").value);
    }
</script>
    <div>
        
        <input id="Hidden1"  type="hidden" runat="server"  name="H1" />
        <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
        <br />
        <asp:Button ID="Button1" runat="server" OnClientClick="abc()"  Text="Button"
            onclick="Button1_Click" />
    </div>
</asp:Content>


ก็คือตรง จาก hidden1 เป็น ContentPlaceHolder1_Hidden1 โดยชื่อข้างหน้าจะเป็นไปตาม ContentPlaceHolderID ที่เอาcontrol ไปใส่ อันนี้ตามที่ผมเข้าใจนะ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-07-11 15:53:26 By : suck9999
 


 

No. 10



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



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


ตามนั้นครับ

ปล. คลิ๊กขวา View Source สักสองสามครั้ง มันก็น่าจะเดาออกแล้วครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-07-11 21:39:20 By : หน้าฮี
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : การรับค่าจากการใช้ javascript prompt ใน master page ไม่ได้
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ 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 05
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 อัตราราคา คลิกที่นี่