# زبان های اسکریپتی > JavaScript و Framework های مبتنی بر آن >  استفاده از تغییر در checkbox برای فراخوانی دستورات JavaScript

## mehdi4467

سلام
من یک Checkbox در صفحه گذاشته و با استفاده از خاصیت onChange تابع test1 را فراخوانی می کنم. به صورت زیر:
<?php $h = "hidden"; ?>
<input name="image_url" type="<?php echo $h; ?>"  id="image_url" />سپس در فایل ajax.js این تابع رو به صورت زیر نوشته ام:
    function test1()
    {
        change_box();
    }و در همان صفحه ای که تگ checkbox را نوشته ام تابع change_box را به شکل زیر نوشته ام:
function change_box()
        {
            if(document.getElementById('checkbox').checked == true)
            {
                document.getElementById('image_url').type = "text";
                document.getElementById('p1').innerHTML = "صرف نظر کنید http:// از";
            }
            else
            {
                document.getElementById('image_url').type = "hidden";
                document.getElementById('p1').innerHTML = "";                
            }
        }     حال کد بالا در لوکال و در مرورگر فایر فاکس کار می کند ولی در مرور گر IE کار نمی کند  و هیچ خطایی هم نمیدهد ولی وقتی که چند بار پشت سرهم روی چک باکس کلیک می کنم خطای زیر را میدهد:


Message: Could not get the type property. This command is not supported.
Line: 16
Char: 5
Code: 0
جالب ابنجاست که وقتی بر روی هاست چک می کنم در هیچ کدام از مرورگرها کار نمی کند.

----------


## mohsen6500

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


```
if(document.getElementById('checkbox').checked == true)
            {
                document.getElementById('image_url').type = "text";
                document.getElementById('p1').innerHTML = "صرف نظر کنید http:// از";
                document.getElementById ('image_url').value='true';
            }
            else
            {
                document.getElementById('image_url').type = "hidden";
                document.getElementById('p1').innerHTML = "";
                document.getElementById ('image_url').value='false';               
            }
```

البته اینا کد جاوا اسکریپت ها نه PHP  !!!

درضمن من از کد اولت سر در نیاوردم خود حالت hidden توی input جواب میده دیگه واسه با PHP نوشتی؟!!!
البته شاید سواد من به این چیزا قد نمیده


موفق باشید

----------


## mehdi4467

سلام
کد شما هم کار نکرد.



> درضمن من از کد اولت سر در نیاوردم خود حالت hidden توی input جواب میده دیگه واسه با PHP نوشتی؟!!!


من برای این این قسمت رو پارامتری کردم که بتونم خاصیت type رو با جاوا اسکریپت کنترل کنم. hidden یا text

----------


## hossin.esm

```
<?php $h = "hidden"; ?>
<input name="check" type="checkbox" checked="checked" id="checkbox"  onClick="test1();" /> 
<input name="image_url" type="<?php echo $h; ?>"  id="image_url" /> 
<div id=p1  ></div>
<SCRIPT language="javascript">
 function test1()
    {
     
        change_box();
    
    }  
 
 function change_box()
    {
      
       
      
    
            if(document.getElementById('checkbox').checked)
            {
       var obj=document.getElementById('image_url')
                var newO=document.createElement('input');
                newO.setAttribute('type','text');
                newO.setAttribute('name','image_url');
    newO.setAttribute('id','image_url');
                obj.parentNode.replaceChild(newO,obj);
                newO.focus();
                document.getElementById('p1').innerHTML = "صرف نظر کنيد http:// از";
    
            }
            else
            {
                var obj=document.getElementById('image_url')
                var newO=document.createElement('input');
                newO.setAttribute('type','hidden');
                newO.setAttribute('name','image_url');
    newO.setAttribute('id','image_url');
                obj.parentNode.replaceChild(newO,obj);
                 document.getElementById('p1').innerHTML = "";                
            }
    }  
</SCRIPT>
```

----------


## mehdi4467

سلام
نه متاسفانه با کد بالا هم فرقی نکرد.

----------


## hossin.esm

من این کد را با IE و FF و chrome تست کردم جواب داد. و مشکلی نداشت.

----------

