php中不同頁面的直接值的回調

來源:互聯網
上載者:User

這陣子在開發php項目,對於傳值最多的方式是用request擷取。但是如果我要在一個頁面(a頁面)中點擊按鈕彈出一個另外一個頁面(b頁面),同時希望b頁面中回調的值可以傳遞到a頁面中,且在a頁面的request變數中可以擷取。

 

1)a頁面的內容

<html><br /><head><br /><mce:script language="javascript" type="text/javascript"><!--<br />function GoSubmit(val)<br />{<br /> alert("GoSubmit");<br /> document.getElementById("condiotionName").value = val;<br />}<br />function Show(obj)<br />{<br /> var myObject = new Object();<br /> myObject.callBackFunction = GoSubmit;<br /> window.showModalDialog("b.html",myObject);</p><p> if (document.getElementById("condiotionName").value != "")<br /> {<br /> document.getElementById("__EVENTAUGUMENT").value="showdialog";<br />document.getElementById("__EVENTAUGUMENT2").value="Click";<br />document.getElementById("__CauseValidation").value="True";alert(document.getElementById("condiotionName").value);<br />if(obj.type!="submit"){<br />document.forms[0].submit();<br /> }<br /> }<br />}<br />// --></mce:script><br /></head><br /><body><br /><form name="aaa" id="aaa"><br /><input id="test" name="test" type="text" value="aaa"><br /><input type="button" name="showdialog" value="showmodaldialog" onclick="Show(this);"><br /><input type="hidden" id="condiotionName" value=""><br /><input type="hidden" name="__EVENTAUGUMENT" id="__EVENTAUGUMENT"/><input type="hidden" name="__EVENTAUGUMENT2" id="__EVENTAUGUMENT2"/><input type="hidden" name="__EVENTAUGUMENT3" id="__EVENTAUGUMENT3"/><input type="hidden" name="__CauseValidation" id="__CauseValidation"/><br /></form><br /></body><br /></html> 

 

php中沒有事件驅動模式,所以要自己手動添加事件驅動模式。用了window.showModalDialog的方式來掉出一個模態視窗。

通過myObject.callBackFunction 的方式來得到b頁面傳遞過來的值,並且賦給頁面上的某個元素

2)b頁面的內容

<html><br /><head><br /><mce:script language="javascript" type="text/javascript"><!--<br />function Show()<br />{<br /> var obj = window.dialogArguments;<br /> alert(document.getElementById("test").value);<br /> obj.callBackFunction(document.getElementById("test").value);<br /> window.close();<br />}<br />// --></mce:script><br /></head><br /><body><br /><form name="aaa" id="aaa"><br /><input id="test" name="test" type="text" value="bbb"><br /><input type="button" value="showmodaldialog" onclick="Show();"><br /></form><br /></body><br /></html>

通過回呼函數傳遞文字框的值給a頁面。

 

註:頁面中有很多alert事件是用於測試的,不喜歡的可以去掉。

 

3)逐步調試php,你可以發現request裡面可以取到b頁面文字框的值。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.