نمایش نتایج 1 تا 7 از 7

نام تاپیک: فراخوانی رویداد کلیک باتون در کد جاوا اسکریپت

  1. #1

    فراخوانی رویداد کلیک باتون در کد جاوا اسکریپت

    با سلام
    یه کد دارم به صورت زیر

    <script>
    //زمان مورد نظر به ثانیه
    var time = 10;
    var sec, min;

    //انتخاب المنت مورد نظ
    var Showtimer = document.getElementById('timer');
    Showtimer.style.color = 'green';
    Showtimer.style.fontSize = '18pt';
    Showtimer.style.textAlign = 'ltr';
    Showtimer.style.font.bold;
    //اجرای دستورات هر یک ثانیه یکبار
    MyStop = setInterval(timer, 1000);
    function onload() {

    }
    /**
    *کم کردن از زمان کل و بدست آوردن ثانیه و دقیقه
    */
    function timer() {
    time--;
    min = Math.floor(time / 60);
    sec = time - (min * 60);

    if (min <= 9) min = '0' + min;
    if (sec <= 9) sec = '0' + sec;

    Showtimer.innerHTML = min + ' : ' + sec;
    if (min == '00' & sec == '00') {
    Showtimer.innerHTML = '00 : 00';
    Showtimer.style.color = 'red';
    clearInterval(MyStop);
    // alert("زمان تمام شد");
    document.getElementById('Button1').onserverclick() ;
    }
    }
    </script>


    و کد باتون به صورت زیره
    کد HTML:
     <asp:Button ID="Button1" CssClass="btn btn-shadow btn-success" runat="server" Text="ثبت آزمون"  onclick="Button1_Click" onserverclick="Button1_Click" />
    حالا من میخوام وقتی زمان صفر شد این کد اجرا بشه که در show.aspx.cs نوشته شده
      protected void Button1_Click(object sender, EventArgs e)
    {
    string query = null;
    int f2 = int.Parse(Request.QueryString["id"].ToString());
    SqlConnection connectchek2 = new SqlConnection(ConfigurationManager.ConnectionStrin gs["ConectSchool"].ToString());
    SqlCommand cmdchek2 = new SqlCommand("SELECT * from AzmonFild where azmonf_id ='" + f2 + "' ", connectchek2);
    connectchek2.Open();


    و اگر صفحه رفرش شد تایمر از اول شروع نشه ممنون میشم راهنمایی کنید

  2. #2

    نقل قول: فراخوانی رویداد کلیک باتون در کد جاوا اسکریپت

    سلام
    میتونی اون id رو با jquery بفرستی سمت سرورت .
    اما از اونجایی که اسم جدولت آزمون هست !
    اگه میخوای یه آزمون آنلاین راه اندازی کنید که جاوا اسکریپت گزینه مناسبی برای تایمر نیست .

  3. #3

    نقل قول: فراخوانی رویداد کلیک باتون در کد جاوا اسکریپت

    دو کار میشه کرد .اول اینکه کلا اشیا صفخه تو سمت سرور کنی و فقط تو سمت سرور بررسی کنه.
    دوم اسفاده از تکنیک های آژاکس هستش.کلا میتونی تایمر بررسی کنی و کد سمت سرورت رو اجرا کنی.که مزیت های فراوانی داره.مثل رفرش نشدن صفحه و اجرای کد سمت سرور و ...
    اما اگر بخوای با آژاکس راه بندازی با الگوریتم برنامتو تغییر بدی.واسه تایمرت یا سشن یا کوکی در نظر بگیری و این جور چیزا.

  4. #4

    نقل قول: فراخوانی رویداد کلیک باتون در کد جاوا اسکریپت

    نقل قول نوشته شده توسط general67 مشاهده تاپیک
    دو کار میشه کرد .اول اینکه کلا اشیا صفخه تو سمت سرور کنی و فقط تو سمت سرور بررسی کنه.
    دوم اسفاده از تکنیک های آژاکس هستش.کلا میتونی تایمر بررسی کنی و کد سمت سرورت رو اجرا کنی.که مزیت های فراوانی داره.مثل رفرش نشدن صفحه و اجرای کد سمت سرور و ...
    اما اگر بخوای با آژاکس راه بندازی با الگوریتم برنامتو تغییر بدی.واسه تایمرت یا سشن یا کوکی در نظر بگیری و این جور چیزا.
    خیلی ممنون میشه توضیح بدین (کلا میتونی تایمر بررسی کنی و کد سمت سرورت رو اجرا کنی.) رو چطور بنویسم با مثال ساده
    خیلی ممنون راهنمایی کردین

  5. #5

    نقل قول: فراخوانی رویداد کلیک باتون در کد جاوا اسکریپت

    اگر میخوای با آژاکس کار کنی.اول باید کد های سمت سرور رو با وب متد راهندازی کنی.بدین صورت که دستورات درون کد باتون رو در وب متد قرار بدی.
    دوم مقدار تایمر رو توی کوکی ذخیره کنی.که اگه صفحه رفرش شد مقدارش رو بتونی نگه داری.البته برای اینکه بتونی مقدار درستی داشته باشه یه وب متد هم برای اون بنویسی که بره زمان سرور رو بیاره.
    تا کاربر نتونه با دستکاری زمان سیستم مقدار تایمر رو عوض کنه.
    مثال:


    public class Service1 : System.Web.Services.WebService
    {
    [System.Web.Services.WebMethod()]
    public double ConvertTemperature(double dFahrenheit)
    {
    return ((dFahrenheit - 32) * 5) / 9;
    }
    }

    البته این یه متد ساده هستش.اگر شما میخوای لیستی از سرور بارگذاری کنی باید نوع داده خروجی رو مشخص کنی.و موقع خوندن هم xml یا json رو مشخص کنی.
    درسته این راه کمی مشکل به نظر میرسه اما مزایای خودش رو داره.

    و اما اگر کلا سمت سرور کار کنی.اینجا دیگه همه چی سمت سرور رخ میده.تایمرت رو سشن ذخیره میکنی و با زمان سرور میسنجی و وقتی هم صفحه رفرش شه از سشن میخونی.
    اینم یه نمونه کد:



    <asp:ScriptManager ID="ScriptManager1" runat="server"/>
    <asp:Timer ID="Timer1" runat="server" Interval="1000" ontick="Timer1_Tick"/>
    <asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional">
    <Triggers>
    <asp:AsyncPostBackTrigger controlid="Timer1" eventname="Tick" />
    </Triggers>
    <ContentTemplate>
    <h2>&nbsp;&nbsp; time remaining :
    <asp:Label ID="time" runat="server"></asp:Label></h2>
    </ContentTemplate>
    </asp:UpdatePanel>



    int totalSeconds = 0;
    int seconds = 0;
    int minutes = 0;
    int hours = 0;
    string t = "";

    protected void Page_Load(object sender, EventArgs e)
    {
    if (!Page.IsPostBack)
    {
    Session["time"] = 60;

    }
    }

    protected void Timer1_Tick(object sender, EventArgs e)
    {
    Session["time"] = Convert.ToInt16(Session["time"]) - 1;

    if (Convert.ToInt16(Session["time"]) <= 0)
    {
    }
    }



  6. #6

    نقل قول: فراخوانی رویداد کلیک باتون در کد جاوا اسکریپت

    نقل قول نوشته شده توسط general67 مشاهده تاپیک
    اگر میخوای با آژاکس کار کنی.اول باید کد های سمت سرور رو با وب متد راهندازی کنی.بدین صورت که دستورات درون کد باتون رو در وب متد قرار بدی.
    دوم مقدار تایمر رو توی کوکی ذخیره کنی.که اگه صفحه رفرش شد مقدارش رو بتونی نگه داری.البته برای اینکه بتونی مقدار درستی داشته باشه یه وب متد هم برای اون بنویسی که بره زمان سرور رو بیاره.
    تا کاربر نتونه با دستکاری زمان سیستم مقدار تایمر رو عوض کنه.
    مثال:


    public class Service1 : System.Web.Services.WebService
    {
    [System.Web.Services.WebMethod()]
    public double ConvertTemperature(double dFahrenheit)
    {
    return ((dFahrenheit - 32) * 5) / 9;
    }
    }

    البته این یه متد ساده هستش.اگر شما میخوای لیستی از سرور بارگذاری کنی باید نوع داده خروجی رو مشخص کنی.و موقع خوندن هم xml یا json رو مشخص کنی.
    درسته این راه کمی مشکل به نظر میرسه اما مزایای خودش رو داره.

    و اما اگر کلا سمت سرور کار کنی.اینجا دیگه همه چی سمت سرور رخ میده.تایمرت رو سشن ذخیره میکنی و با زمان سرور میسنجی و وقتی هم صفحه رفرش شه از سشن میخونی.
    اینم یه نمونه کد:



    <asp:ScriptManager ID="ScriptManager1" runat="server"/>
    <asp:Timer ID="Timer1" runat="server" Interval="1000" ontick="Timer1_Tick"/>
    <asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional">
    <Triggers>
    <asp:AsyncPostBackTrigger controlid="Timer1" eventname="Tick" />
    </Triggers>
    <ContentTemplate>
    <h2>&nbsp;&nbsp; time remaining :
    <asp:Label ID="time" runat="server"></asp:Label></h2>
    </ContentTemplate>
    </asp:UpdatePanel>



    int totalSeconds = 0;
    int seconds = 0;
    int minutes = 0;
    int hours = 0;
    string t = "";

    protected void Page_Load(object sender, EventArgs e)
    {
    if (!Page.IsPostBack)
    {
    Session["time"] = 60;

    }
    }

    protected void Timer1_Tick(object sender, EventArgs e)
    {
    Session["time"] = Convert.ToInt16(Session["time"]) - 1;

    if (Convert.ToInt16(Session["time"]) <= 0)
    {
    }
    }


    بازم ممنون بابات کمکتون من روشم رو عوض کردم و اومدم زمان ورود به سیستم طرف رو تو بانک ذخیره میکنم و بعد 30 دقیقه بهش اضافه میکنم میریزم تو متغییر مثلا s .یه ظرطم گذاشتم اگه طرف یه بار زمان براش تو بانک ساخته شده بود دیگه نتونه امتحان بده و کلا فقط یه بار میتونه صفحه رو ببینه و دیگه نمیتونه رفرش کنه.
    الان مشکلی که دارم فقط اینه که چطور اطلاعات رو ارسال کنم (همون رویداد باتون رو صدا بزنم وقتی زمان سیستم برابر زمان s شد رویداد رو اجرا کنه.
    از تایمر اسفاده کردم و شرط رو داخلش نوشتم اما جواب نداد وقتی تایم تموم شد.
        protected void Timer1_Tick(object sender, EventArgs e)
    {

    while (zamaneAyande == DateTime.Now)
    {
    Button1.Click += new EventHandler(Button1_Click);
    } {

    }


  7. #7

    نقل قول: فراخوانی رویداد کلیک باتون در کد جاوا اسکریپت

    دستورات درون رویداد رو درون یه تابع بریز و تابع رو فراخوانی کن.هم از باتون و هم از رویداد تیک تایمر.
    اگر هم کار نکرد بزارش درون آپدیت پنل.

تاپیک های مشابه

  1. مشکل در کد جاوا اسکریپت
    نوشته شده توسط Mr. Pink در بخش JavaScript و Framework های مبتنی بر آن
    پاسخ: 1
    آخرین پست: پنج شنبه 02 بهمن 1393, 22:54 عصر
  2. سوال: کد جاوا اسکریپت برای به دست آوردن اندیسی از متن یک کنترل که با موس در اون مکان کلیک شده
    نوشته شده توسط majid784 در بخش JavaScript و Framework های مبتنی بر آن
    پاسخ: 1
    آخرین پست: چهارشنبه 17 آبان 1391, 08:59 صبح
  3. درج در کد جاوا اسکریپت
    نوشته شده توسط sam166 در بخش JavaScript و Framework های مبتنی بر آن
    پاسخ: 1
    آخرین پست: جمعه 14 اسفند 1388, 21:53 عصر
  4. اشکال در کد جاوا اسکریپت
    نوشته شده توسط saeidejafari در بخش طراحی وب (Web Design)
    پاسخ: 21
    آخرین پست: یک شنبه 29 اردیبهشت 1387, 10:31 صبح
  5. تغییر در کد جاوا اسکریپت و HTML
    نوشته شده توسط centralprocessingunit در بخش طراحی وب (Web Design)
    پاسخ: 0
    آخرین پست: دوشنبه 12 تیر 1385, 13:54 عصر

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •