Я устанавливаю переменную innerHTML для div с содержимым из запроса ajax:
new Ajax.Request('/search/ajax/allakas/?ext_id='+extid,
{
method:'get',
onSuccess: function(transport){
var response = transport.responseText || "no response text";
$('admincovers_content').innerHTML=response;
},
onFailure: function(){ alert('Something went wrong...') }
});
Текст ответа содержит форму:
<form id="akas-admin" method="post" action="/search/ajax/modifyakas/">
<input type="text" name="formfield" value="i am a form field"/>
</form>
Затем я вызываю функцию, котораядолжен отправить эту форму:
$('akas-admin').request({
onComplete: function(transport){
//alert('Form data saved! '+transport.responseText)
$('admincovers_content').innerHTML=transport.responseText;
}
});
Проблема в $('akas-admin)
возвращает null
, я попытался поместить форму с этим идентификатором в исходный документ, который работает.
Вопрос:Могу ли я как-то «переоценить» dom или элементы доступа, которые были вставлены с помощью innerHTML?
Редактировать информацию: document.getElementById("akas-admin").submit()
работает просто отлично, проблема в том, что я не хочу перезагружать всю страницу, а выложить формучерез ajax и получите текст ответа в функции обратного вызова.
Редактировать:
На основании предоставленных ответов я заменил свою функцию, выполняющую запрос, следующим наблюдателем:
Event.observe(document.body, 'click', function(event) {
var e = Event.element(event);
if ('aka-savelink' == e.identify()) {
alert('savelink clicked!');
if (el = e.findElement('#akas-admin')) {
alert('found form to submit it has id: '+el.identify());
el.request({
onComplete: function(transport){
alert('Form data saved! '+transport.responseText)
$('admincovers_content').innerHTML=transport.responseText;
}
});
}
}
});
проблема в том, что я дошел до alert('savelink clicked!')
;,findelement не возвращает форму.Я пытался разместить ссылку для сохранения выше и под формой.оба не работают.я также думаю, что этот подход немного неуклюж, и я делаю это неправильно.Кто-нибудь может указать мне правильное направление?