Zrobiłem wszystko zgodnie z poradnikiem na stronie http://www.zendcasts.com/ajaxify-your-zend...jquery/2010/04/ .
Formularz ładnie się waliduje w czasie rzeczywistym. Gdy dodaję linijkę w application.ini
Kod
resources.layout.layoutPath = APPLICATION_PATH "/layouts/scripts"
aby ten formularz wyświetlał się w content, nagle walidacja jquery przestaje działać. Chciałby, aby walidacja działała na podpiętym layout'cie. Możliwe, że coś trzeba zmienić w pliku http://code.google.com/p/zendcasts/source/...dex/index.phtml . Widocznie chodzi o ścieżkę /index/validateform w kodzie:
Kod
function doValidation(id)
{
var url = '/index/validateform'
var data = {};
$("input").each(function()
{
data[$(this).attr('name')] = $(this).val();
});
$.post(url,data,function(resp)
{
$("#"+id).parent().find('.errors').remove();
$("#"+id).parent().append(getErrorHtml(resp[id], id));
},'json');
}
{
var url = '/index/validateform'
var data = {};
$("input").each(function()
{
data[$(this).attr('name')] = $(this).val();
});
$.post(url,data,function(resp)
{
$("#"+id).parent().find('.errors').remove();
$("#"+id).parent().append(getErrorHtml(resp[id], id));
},'json');
}
Czy ktoś zna się dobrze na javascript i mógłby wyjaśnić mi ten problem? Męczę się z tym od dwóch dni i nic:/ Z góry dziękuję za pomoc.
--edit--
Problem rozwiązany. Po dodaniu poniższej linijki wyświetla się elegencko w layout'cie:)
Kod
$this->_helper->getHelper('layout')->disableLayout();