parser

Написать ответ на текущее сообщение

 

 
   команды управления поиском

JSHttpRequest и intup type="image"

Gluchik 01.09.2009 15:41

Добрый день. Помогите, пожалуйста разобраться. Голову сломал.
Птаюсь адаптировать пример для класска JSHttpRequest для своих нужд, попутно разбираясь в тонкостях класса. Но наткнулся на странную вещь, которую не могу понять.
Есть код:
###########################################################################
@auto[]
$dDate[^date::now[]]
$tMethod[^table::create{name	
	
get	
post	}
]

$tLoader[^table::create{name	
	
xml	
script	
form	}
]


###########################################################################
    <form style="padding:2px" enctype="multipart/form-data"> 
        <h3>Whole form sending</h3> 
        Text: <input type="text" name="q" value="1251803214">
		<input type="hidden" name="werty" value="asdfasdfasdfasd">
		<i>Type "error" to show debug capabilities.</i><br>
        File: <input type="file" name="file"><br> 
		<input type="button" onclick="request('form', 'post', this.form, 'custom data!')" value="form"> 
		<input type="image" src="../images/test_button.jpg" onClick="request('form', 'post', this.form, 'custom data!')"> 
    </form> 
И скрипт
@js[sLoaderUri]
<script> 
    // Called on button press. 
    function request(loader, method, data, data2) { 
        // Create new JsHttpRequest object. 
        var req = new JsHttpRequest(); 
        // Code automatically called on load finishing. 
        req.onreadystatechange = function() { 
            if (req.readyState == 4) { 
                if (req.responseJS) { 
                    // Write result to page element.  
                    document.getElementById('result').innerHTML =  
                        '<b>MD5("'+(req.responseJS.q||'')+'")</b> = ' + 
                        '"' + (req.responseJS.md5||'') + '"<br> ' + 
                        '<b>Session data:</b> ' +  
                        '"' + (req.responseJS.hello || 'unknown') + '"<br>'; 
                } 
                // Write debug information too. 
                document.getElementById('debug').innerHTML = req.responseText; 
            } 
        } 
        // Allow caching (to avoid different server queries for  
        // identical input data). Caching is always disabled if 
        // we are uploading a file. 
        req.caching = false; 
        // Prepare request object. 
        req.loader = loader; 
        req.open(method, '$sLoaderUri', true); 
        // Send data (random JavaScript hash). 
        var data = {  
            q: data,  
            test: {  
                'time': new Date().getTime(),  
                'data2': data2  
            } 
        }; 

        if (data2 == null) delete data.test.data2; 
        req.send(data); 
    } 
</script>
Т.е. я хочу вместо кнопки, отправлять форму image'м.
<input type="button" onclick="request('form', 'post', this.form, 'custom data!')" value="form">
<input type="image" src="../images/test_button.jpg" onClick="request('form', 'post', this.form, 'custom data!')">

Но по кнопке все отправляется, а по image - нет. В чем может быть загвоздка?