台灣最大程式設計社群網站
線上人數
1443
 
會員總數:246276
討論主題:189811
歡迎您免費加入會員
討論區列表 >> PHP >> table透過按鈕傳送資料?
[]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
table透過按鈕傳送資料?
價值 : 10 QP  點閱數:1544 回應數:10
樓主

uniojnqoifazy
門外漢
0 98
1094 146
發送站內信

各位大大,
我想建一個table在使用者輸入日期"或是"使用者IP 後,按下按鈕就可以連接DB查詢顯示在同一頁下方,以表格呈現,
但是在我加入form來傳送要查詢的值(起始日期或是使用者IP)後,日期按鈕就不能跳出日期了,
請問各位大大,是那裡錯了嗎?




[code]
<form name="form" method="post" enctype="multipart/form-data" action="query.php">
<table width="492" border="1">
<tr>
<td colspan="3" >查詢條件</td>
</tr>
<tr>
<td width="130">查詢日期</td>
<td width="170">
<input id="f_rangeStart" size="10" />
<button id="f_rangeStart_trigger">DATE</button>

<script type="text/javascript">

var cal = Calendar.setup({

onSelect: function(cal) { cal.hide() }

}); //觸發按鈕ID 對應輸入欄位 日期時間格式

cal.manageFields("f_rangeStart_trigger", "f_rangeStart", "%Y-%m-%d");

</script>
</td>
<td width="170">
<input id="f_rangeEnd" size="10" />
<button id="f_rangeEnd_trigger">DATE</button>

<script type="text/javascript">

var cal = Calendar.setup({

onSelect: function(cal) { cal.hide() }

}); //觸發按鈕ID 對應輸入欄位 日期時間格式

cal.manageFields("f_rangeEnd_trigger", "f_rangeEnd", "%Y-%m-%d");

</script>
</td>
</tr>
<tr>
<td>使用者IP</td>
<td colspan="2"><input id="f_rangeStart" size="15" /></td>
</tr>
<tr>
<td colspan="3"> <button id="query" >查詢</button></td>
</tr>
</table>
</form>
[code]

本篇文章發表於2012-05-08 16:48
1樓
回應

浩瀚星空
捐贈 VP 給 浩瀚星空 檢舉此回應
我會建議你先學會po使用程式代碼來po程式碼。我記得我有教過你了。

再來~~~你的問題,比較難回答你。
因為你的日期選擇器不知是用何套件。無法確定你的用法對還是不對。

真要說錯在哪堛爾隉A就是你那個日期選擇器有問題。但什麼問題???無法得知。
是你的用法不對??還是哪婼蘇藂鴗F。還是有語法錯誤??這些都無法從你的文章中得知。

結論:無法確認你的問題,請提供更多的資訊。
本篇文章回覆於2012-05-08 17:33
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
作者回應

uniojnqoifazy
檢舉此回應
浩瀚星空 版主,
我使用的是jscal日曆套件,

使用上是沒有問題,日曆可以呈現,但是因為我要取得使用者所選的日期,所以加上form去傳值,但是加上form後,日曆就不能呈現了,
所以大大可以指點是那裡錯誤嗎?


本篇文章回覆於2012-05-08 20:16
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
3樓
回應

浩瀚星空
捐贈 VP 給 浩瀚星空 檢舉此回應
其實我也知道你用的是jscal。我之前就是用它做處理的。我是用2版。你這因該是1版的寫法。
不過他這一套是屬於純id宣告指向。當要給與其觸發動作條件。只能在主頁面上的id才會有作用(我想這有可能是該jscal的問題)

聽說2版已經有搭配了jq的寫法。沒有這問題了。

給你兩種做法,

1.其1更換2版試試看,看看會不會自動給與按鍵觸發事件。(當然用法大同小異,只是有一些不一樣的東西存在)

2.將日期的顯示寫成function。然後再對應的按鍵上直接給與onclick事件。不要交給jscal自動給與。
本篇文章回覆於2012-05-09 09:23
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
4樓
作者回應

uniojnqoifazy
檢舉此回應

浩瀚星空 版主,
可是我是使用JSCal2-1.8 ,這應該是2版的吧?
你說的將日期的顯示寫成function。然後再對應的按鍵上直接給與onclick事件。不要交給jscal自動給與。
不太清楚怎麼做,可以提供參考範例嗎? 謝謝
本篇文章回覆於2012-05-09 09:41
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
5樓
作者回應

uniojnqoifazy
檢舉此回應
浩瀚星空 版主,
目前是先取得input的值了,之後再丟姶PHP做資料庫條件查詢
請問這樣做法可以嗎?
但是接著要怎麼等給同一頁PHP做資料庫查詢呢?


<table width="550" border="1">
<tr>
<td colspan="3" >查詢條件</td>
</tr>
<tr>
<td width="130">查詢日期</td>
<td width="170">
<input id="f_rangeStart" size="10" type="text" />
<button id="f_rangeStart_trigger">DATE</button>

<script type="text/javascript">

var cal = Calendar.setup({

onSelect: function(cal) { cal.hide() }

}); //觸發按鈕ID 對應輸入欄位 日期時間格式

cal.manageFields("f_rangeStart_trigger", "f_rangeStart", "%Y-%m-%d");

</script>
</td>
<td width="170">
<input id="f_rangeEnd" size="10" />
<button id="f_rangeEnd_trigger">DATE</button>

<script type="text/javascript">

var cal = Calendar.setup({

onSelect: function(cal) { cal.hide() }

}); //觸發按鈕ID 對應輸入欄位 日期時間格式

cal.manageFields("f_rangeEnd_trigger", "f_rangeEnd", "%Y-%m-%d");

</script>
</td>
</tr>
<tr>
<td>來源IP</td>
<td colspan="2"><input id="souceip" size="15" /></td>
</tr>
<tr>
<td colspan="3"> <button id="query" onclick="chk()" >查詢</button></td>
</tr>
</table>
<script language="javascript">
function chk(){
var sdate=document.getElementById("f_rangeStart").value;
var edate=document.getElementById("f_rangeEnd").value;
var ipquery = document.getElementById("souceip").value;
alert (sdate);
alert (edate);
alert (ipquery);
}

</script>
本篇文章回覆於2012-05-09 11:47
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
6樓
最有價值解答

浩瀚星空
捐贈 VP 給 浩瀚星空 檢舉此回應
嗯~~~看樣子你對這一套的應用並非很完整的了解。
如果是2版v1.8。實在不需要這樣用。

首先先指點你一些錯誤的存在。

1.你有兩個控制項,但都直接使用cal變數處理。這會照成只有後一個會有作用,前一個沒作用。
2.在做setup其實就已經可以指定格式、動作元件、目標元件了。

這樣說你可能還不夠明白,我就簡短的寫個範例給你看看



如上的程式碼,就可以做宣告及控制。第一個用RANGE_CAL_1。第二個用RANGE_CAL_2。以下依此類推處理。
讓你的日期選擇器各自的運做及動作。

順便給你相關的範例參考頁。
http://www.dynarch.com/static/JSCal2/index.html

對了~~~已經出了1.9版了。或許你可以更換看看。(我自已是還沒更換啦)

以上已經有幫你試過。加上了form。還是可以正常操作。所以只要送出表單就能在php內收到這兩個值。
日期格式自行更換一下。如有不明白的,可在那一篇範例頁查到。(雖然都是英文的)
本篇文章回覆於2012-05-09 14:18
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
7樓
作者回應

uniojnqoifazy
檢舉此回應
浩瀚星空 版主,
可是我照你的建議修正了,可是加了form之後,日曆還是不能動,請問是我那裡漏掉了嗎? 謝謝



本篇文章回覆於2012-05-09 15:01
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
8樓
作者回應

uniojnqoifazy
檢舉此回應
浩瀚星空 版主,
可是我照你的建議修正了,可是加了form之後,在按第一個日曆時就不能正常顯示,
form的提交是透過查詢按鈕傳送到同一頁
,請問是我那裡漏掉了嗎? 謝謝


本篇文章回覆於2012-05-09 15:09
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
9樓
回應

浩瀚星空
捐贈 VP 給 浩瀚星空 檢舉此回應
是否可以將你的網頁或是測試相關站提供一下。
因為我單純的用你上面的測試是可以正常的。


你可能碰上如下的問題,請自行檢查一下

1.button的type值要給與button。雖然在ie的預設值的確是button。但在其它瀏覽器上確是sumbit。我之前曾被這搞死過,所以現在都乖乖的加上type宣告。

2.注意一下是否有發生js錯誤。因為如果有發生js錯誤的情況,就有可能會發生後置的js不運做的問題。

3.id名是否有重覆的問題。因為我剛在測試你的東西就發生了>"<我原先的測試碼跟你的測試碼放在一起。你的就不會動。原因也很簡單,就是因為我id同名了。所以只有我的可以動,但你的動不了。

以上問題自行檢查一下吧。

本篇文章回覆於2012-05-09 16:04
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
10樓
作者回應

uniojnqoifazy
檢舉此回應
浩瀚星空 版主,
感謝版主建議除錯方式,原來button的type值還是要給它的啦~~~~
終於解決了∼~感恩
本篇文章回覆於2012-05-09 16:49
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
   
1

回覆
如要回應,請先登入.