2013-02-01 100 views
0

我試圖將我從外部js文件中獲取的值傳遞到我的.aspx頁面。將值從外部.js文件傳遞給asp隱藏字段

這裏是我的.js文件的代碼:

function GETdateTime() { 
    var d = new Date() 
    var date = new String(d.getDate() + "/" + (d.getMonth() + 1) + "/" + d.getFullYear()); 
    var time = new String(d.getHours() + ":" + d.getMinutes() + ":" + d.getSeconds()); 
    document.getElementById("test").outerHTML = "<br>" + date + "<br>" + time; 
} 

在我的.aspx頁面中,我呼籲上述功能和檢索類似的結果:

<form id="form1" runat="server" method =" post"> 
    <span id = "test"> </span> 

    <script type =" text/javascript" src="JavaScript1.js" > 
    </script>  

    <script type ="text/javascript"> 
      GETdateTime(); 
    </script> 
</form> 

我想實現的是,我打算有一個HiddenField,它將存儲date, time and other things,然後抓住那個HiddenField中的值,並將它們傳遞給我的vb.net代碼以將它們存儲在一個字符串中。問題是,我看到了很多方法,我有點困惑與哪一個去像here,hereand here。我也在考慮效率,一致性,靈活性和整體性能。任何想法或建議,將不勝感激。

+0

你可能會考慮這個答案以及:http://stackoverflow.com/questions/14603256/passing-values-from-javascript-to-code-beh ind-in-asp-net – Aristos

回答

0

如果你有一個這樣的形式:

<form id="form1" runat="server" method =" post"> 
    <asp:HiddenField runat="server" id="test" /> 
    <script type =" text/javascript" src="JavaScript1.js" > 
    </script>  

    <script type ="text/javascript"> 
      GETdateTime("<%=test.ClientID %>"); 
    </script> 
</form> 

比你需要一個javascript:

function GETdateTime(hiddenFieldID) { 
    var d = new Date() 
    var date = new String(d.getDate() + "/" + (d.getMonth() + 1) + "/" + d.getFullYear()); 
    var time = new String(d.getHours() + ":" + d.getMinutes() + ":" + d.getSeconds()); 
    document.getElementById(hiddenFieldID).value = "<br>" + date + "<br>" + time; 
} 

比,表單提交的代碼之後的背後,得到的值設定JS,你可以簡單地做:

hiddenFieldVal = test.Value 
+0

ok在'function GETdateTime(hiddenFieldID)''hiddenFieldID'確實如此我是否必須像'function GETdateTime(test)那樣寫下它,對於'document.getElementById(test)也是一樣的?或者只是讓括號爲空,因爲它是通過我的HTML中的函數? – HShbib

+0

查看我的回答。有一行:'GETdateTime(「<%= test.ClientID%>」); - 這就是你應該通過它的方式。 –

+0

其不工作'test.Value'爲空。 – HShbib

相關問題