• 1 رای - 5 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
اجرا نشدن کدهای جاوااسکریپت و توابع Jquery بعد از لود شدن در صفحه
#1
من یه فرم ثبت مشخصات طراحی کردم که برای کنترل خالی بودن و اشتباه بودن تکسباکسها از Jquery استفاده کردم

در صفحه اصلی سایت یک دکمه گذاشتم که با زدن آن این فرم در صفحه لود می شه

حالا مشکل اینجاست که بعد از لود شدن توابع کار نمی کنه المنت ها انتخاب نمی شن

مثلا این کد رو ببینید :
این کد در این حالت اجرا می شه و مشکلی نداره
کد:
<script type="text/javascript">
$(document).ready(function() {
    
  $("#button1").click(function(){        
      alert($("#edit1").val());
      });    
});
</script>
<input type="text" name="edit1" id="edit1" />
<input type="button" id="button1" value="ثبت" class="btn1" />

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

این قسمت در صفحه اصلی سایت قرار داره
کد:
<script type="text/javascript">
$(document).ready(function() {
    
  $("#button1").click(function(){        
      alert($("#edit1").val());
      });    
});
</script>
با استفاده از این کد که این هم در صفحه اصلی قرار داره المنت ها رو لود می کنم
کد:
    $("#b_auser").click(function(){
        $.post('check.php?action=padduser',function(data,status){
            if(status=='success')
                {
                    $("#hh").hide(400,function(){
                        $("#hh").html(data);
                        });
                    $("#hh").show(400);
                }
            });
        });

با استفاده از کد بالا کد پایین رو لود می کنم
کد:
<input type="text" name="edit1" id="edit1" />
<input type="button" id="button1" value="ثبت" class="btn1" />
ولی اجرا نمی شه

حالا این یه نمونه کوچیک بود فرم اصلیم که مشخصات افراد رو ثبت می کنه کلی فیلد و چک باکس داره که همشون به صورت آژاکس چک می شن اونا کلا اجرا نمی شن
  پاسخ
تشکر شده توسط :
#2
اصلا نمی دونم چه رسمیه که اینجوریه چندتا مرورگر داریم هر کدوم ساز خودش رو می زنه این همه زبان برنامه نویسی و ....

با این که جواب خیلی ساده هستش ولی برای کسانی که در شروع کار هستن واقعا سخته

با توجه به مثالهای بالا به این صورت عمل می کنیم

ابتدا رویدادی که می خواهید هنگام کلیک (یا هر Event دیگه ای ) صورت بگیره رو به این صورت می نویسیم

کد پی‌اچ‌پی:
function button1()
    {
        
alert($("#edit1").val());
    } 

حالا کد مربوط به لود کردن اون رو به این صورت تغییر می دیم

کد پی‌اچ‌پی:
$("#b_auser").click(function(){
         $.
post('check.php?action=padduser',function(data,status){
             if(
status=='success')
                 {
                     $(
"#hh").hide(400,function(){
                         $(
"#hh").html(data);
/******************************************************************/
                         
$("#b_sabt").live("click",function(){button1();});
/******************************************************************/
                         
});
                     $(
"#hh").show(400);
                 }
             });
         }); 

این هم اون کدی هستش که بعد از لود شدن به صفحه اضافه می شه
کد پی‌اچ‌پی:
<input type="text" name="edit1" id="edit1" />
 <
input type="button" id="button1" value="ثبت" class="btn1" /> 

به نظرم یه جورایی Blush ولی خوب چه میشه کرد مصرف کننده هستیم دیگه Shy
  پاسخ
تشکر شده توسط :
#3
اصلا کلا مسیر رو اشتباهی می فتم رویداد رو هم اگه با درخواست جواب از سرور بخونی هیچ مشکلی نداره یعنی

یه تابع داری به این صورت که کارش اینه که اطلاعات رو از سرور بخونه و داخل یک تک DIV قرار بده
کد پی‌اچ‌پی:
$("#b_auser").click(function(){
         $.
post('check.php?action=padduser',function(data,status){
             if(
status=='success')
                 {
                     $(
"#hh").hide(400,function(){
                         $(
"#hh").html(data);
                         });
                     $(
"#hh").show(400);
                 }
             });
         }); 
کار این تابع اینه که اطلاعات رو از آدرس check.php?action=padduser بخونه و داخل تک Div با آی دی hh قرار بده
حالا اطلاعات ارسالی به این صورت باشه همه چیز حله


کد پی‌اچ‌پی:
<input type="text" name="edit1" id="edit1" />
 <
input type="button" id="button1" value="ثبت" class="btn1" /> 

<
script type="text/javascript">
$(
document).ready(function(){
        $(
"#button1").click(function(){
            
alert($("#edit1").val());
            });
    });
</
script

بعضی وقتا کلا مسیر رو اشتباهی می رم نمی دونم چمه Big Grin
  پاسخ
تشکر شده توسط :


پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان