Я думаю, вам нужно посмотреть на AJAX подход к этому. Вы можете использовать Javascript для ввода данных в iframe, но итеративное взаимодействие между представлением и контроллером лучше всего делать с помощью соединения AJAX.
Это быстрый и грязный подход, который я принял. В конце действия контроллера:
App::import('Helper', 'Javascript');
$javascript = new JavascriptHelper();
echo($javascript->object($returnVals)); // allows passing of array
exit(1);
В представлении, вам нужно захватить возвращенное значение и анализировать с помощью JSON.parse:
<snip-->
if(xmlHttp)
{
xmlHttp.open("POST",actionURL,true);
xmlHttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
xmlHttp.onreadystatechange = function()
{
if (xmlHttp.readyState == 4 && xmlHttp.status == 200)
{
doAction(xmlHttp.responseText,zone);
}
<--snip>
function doAction(props,zone)
{
var newProps = JSON.parse(props);//needs to be parsed into a JS object.
//other stuff here
}
Спасибо Лев ...... Я знаю Мне нужно будет использовать ajax ......., но я просто хочу знать, как это сделать, допустим, что я отправляю форму, и она запускает действие контроллера, так что теперь, как wud я отправляю результат $ result iframe из этого действия контроллера и как получить этот $ result в iframe ... – texpert
Не зная подробностей о том, что именно вы пытаетесь сделать, трудно сказать. Я думаю, если вы ДОЛЖНЫ использовать iframe, тогда вам нужно поддерживать дескриптор и вставлять соответствующую информацию в него с помощью javascript. Я не могу не думать о том, что вы делаете вещи трудными для себя. – Leo
Я отредактировал свой ответ, чтобы включить некоторые фрагменты кода. – Leo