Contatore in JavaScript

martedì 02 ottobre 2007 - 10.44

secks Profilo | Senior Member

Ho trovato in JavaScript il seguente cmd con il submit e setTimeout per far eseguire il Page_load ogni n secondi :

<body MS_POSITIONING="GridLayout">
<script language="javascript">


function Update() {
document.Form1.submit();
ID=window.setTimeout("Update();",1000);
}

</script>
<form id="Form1" method="post" runat="server">
<asp:Label id="lblCnt1" style="Z-INDEX: 101; LEFT: 320px; POSITION: absolute; TOP: 256px" runat="server"
Width="320px" Height="64px" BorderStyle="Dashed" Font-Size="XX-Large" Font-Bold="True">0</asp:Label>
<asp:Button id="Button1" style="Z-INDEX: 102; LEFT: 744px; POSITION: absolute; TOP: 40px" runat="server"
Width="160px" Height="56px" Text="Button"></asp:Button>
</form>
</body>

Se aggiungo

ID=window.setTimeout("Update();",600000);

automaticamente da il submit ogni n secondi.

Vorrei fare in modo che da una pagina WEB ( ASP.NET 2003 ) premendo un Button si avvi il contatore.
Che comando posso usare sul pulsante?
Ho provato ad utilizzare
ID=window.setTimeout("Update();",600000);
sul button ma avanza di uno ad ogni pressione del tasto, mentre vorrei che proseguisse da solo.

Ciao a tutti e grazie.
Paolo.

amelix Profilo | Expert

>ID=window.setTimeout("Update();",600000);
Dove lo metti?!?!?

Cmq dovrebbe bastarti mettere nel onclick (del client) la chiamata al metodo Update()
Se non ricordo male in C#/VB.Net dovresti mettere OnClientClick="Update()"

A.
Andrea - http://www.MelisWeb.eu/

secks Profilo | Senior Member

Scusa, ma è tutto il giorno che provo a mettere in pratica un contatore ma non riesco a capire come fare, tra l'altro sto anche studiando Javascript.

Questo è la mia prova:

<%@ Page Language="vb" AutoEventWireup="false" Codebehind="WebForm3.aspx.vb" Inherits="zProva1.WebForm3"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<title>WebForm3</title>
<meta content="Microsoft Visual Studio .NET 7.1" name="GENERATOR">
<meta content="Visual Basic .NET 7.1" name="CODE_LANGUAGE">
<meta content="JavaScript" name="vs_defaultClientScript">
<meta content="http://schemas.microsoft.com/intellisense/ie5" name="vs_targetSchema">

<script language="javascript">

ID=window.setTimeout("Update1();",1000);

public function Update1() {
document.Form1.submit();
}

</script>

</HEAD>
<body MS_POSITIONING="GridLayout">
<form id="Form1" method="post" runat="server">

<asp:label id="lblCnt1" style="Z-INDEX: 101; LEFT: 320px; POSITION: absolute; TOP: 256px" runat="server"
Font-Bold="True" Font-Size="XX-Large" BorderStyle="Dashed" Height="64px" Width="320px">0</asp:label>

<asp:button id="Button1" style="Z-INDEX: 102; LEFT: 744px; POSITION: absolute; TOP: 40px" runat="server"
Height="56px" Width="160px" Text="Button" ></asp:button>

</form>
</body>
</HTML>

Se lancio le suddette righe mi parte un contatore che aggiunge 1 ad ogni upload della form.
Vorrei però riuscire a dargli io l'inizio a contare mediante un evento qualsiasi, come posso fare?

Ciao e grazie.
Paolo.

amelix Profilo | Expert

> <script language="javascript">
>
> ID=window.setTimeout("Update1();",1000); //Togli questa riga
>
> public function Update1() {
> document.Form1.submit();

E la metti solo al primo postback.
<asp:literal id=litJS runat=server/>

Nel page load:
if(this.IsPostBack)
litJS.text = "window.setTimeout(\"Update1();\",1000);";
Andrea - http://www.MelisWeb.eu/

secks Profilo | Senior Member

Ho fatto come mi hai detto ( almeno credo ):

Ho inibito la riga sulla pagina HTML

<script language="javascript">
//ID=window.setTimeout("Update1();",1000);
public function Update1() {
document.Form1.submit();
}
</script>

... e l'ho riportata nel page_load:

Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
If Not IsPostBack Then
lblCnt1.Style("text-align") = "right"
Response.Write("<script language=javascript>window.setTimeout(Update();,1000)</script>")
End If
lblCnt1.Text = Val(lblCnt1.Text) + 1
End Sub

... non parte, va avanti di uno ogni volta che pigio il pulsante.
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5