2013-09-10 1 views
0

Я потратил довольно много времени на выяснение того, как я могу решить свою проблему, но не нашел решения, соответствующего моей точной проблеме. Моя среда - деловое приложение, написанное в cakephp 1.3.13, которое я не могу легко обновить до 2.x.Фактический jQuery/jQueryUI Помощник для cakePHP 1.3.x или подтверждение модального диалога popup

Я хочу, чтобы реализовать некоторую яваскрипту функциональность:

Я подумываю диалоговую формы выскакивать перед отправкой правильной формы после. Модальный диалог должен собирать и сохранять некоторые данные от пользователя.

Конкретная ситуация:

У меня есть регулярный HTTP POST-форму редактирования, основанную на модели employee_project. В этом виде вы можете изменить некоторые значения, установить некоторые состояния и обновить запись, отправив форму.

<div id="editEmployeesProjectForm"> 
<?php 
    echo $form->create('EmployeesProject', array('action' => 'updateEmployeesProject')); 
    echo $form->input('id', array('type' => 'hidden', 'value' => $e['EmployeesProject']['id'])); 
    echo $form->input('user_id', array('label' => '', 'options' => $userList, 'selected' => $selected)); 
    echo $form->input('state', array('options' => $states, 'label' => '', 'selected' => $selection)); 
    echo $form->submit('update'); 
?> 
</div> 

Я хочу вызвать событие отправки этой формы, если в выпадающем списке было выбрано определенное состояние. Модальный диалог будет всплывать, чтобы собрать дополнительную информацию о выборе пользователей. Этот Модальный ящик должен иметь собственную форму представления для создания «Статистического журнала». После того, как сохранение модальной формы будет завершено, действие отправки на крючок должно обрабатываться нормально.

Я нашел несколько способов достичь этого с помощью функции диалога jQuery, работающей с модальным: true. Так как у меня не очень много опыта ни с javascript, ни с jQuery, я искал помощника jQuery в cakephp 1.3.x, поддерживая фактические версии и функции jquery/jqueryUI, но, похоже, он существует только для cakephp 2.x.

Я уже просмотрел JsHelper of cakePHP 1.3, но он поддерживает только очень ограниченные возможности jquery.

Так кто-то теперь, как легко достичь этого в среде cakePHP 1.3? Я не ограничен jquery, если есть еще один прямой способ сделать это.

Я рад за все предложения по решению моей проблемы. Заранее спасибо!

ответ

0

Что вы можете сделать, это сделать свою форму, скрыть ее и использовать javascript, чтобы отобразить ее и поместить в лицо пользователей на основе определенных параметров.

Пример: Ввиду:

<?php echo $this->Form->input('user_input'); ?> 

    <div id="popopen" class="footer_scrolling" style="display:none"> 
     <?php echo $this->Form->input('test'); ?> 
     <?php echo $this->Form->submit(); ?> 
    </div> 
<input type="submit" value="Submit" onclick = "return toggle_display()"> 

Javascript:

function toggle_display() 
{ 
popup = document.getElementById("popopen"); 
user_value = document.getElementById("user_input"); 
if(user_value.value = 1) 
{ 
    popup.style.display= "block"; 
    return false; 
} else { 
    return true; 
} 
} 

В CSS (будет делать вид, в сумасшедшем цвета на дне):

.footer_scrolling 
{ 
    border:2px solid #404D81; 
    height: 35px; 
    padding-top: 10px; 
    width: 61%; 
    margin: 0 auto; 
    position:fixed; left:25.67%; bottom:0px; 
    background-color:#FCDD4B; 
} 
+0

Привет @iexiak , Спасибо за ваш ответ! Это, безусловно, хороший способ решить мою проблему, избегая контакта jquery. Я собираюсь попробовать это. Но я не уверен, что произойдет после отправки всплывающей формы. Думаю, я позвоню своему контроллеру и не делаю вид? Поскольку основная форма еще должна быть отправлена ​​и обработана после. – TurbuLenz

+0

Технически эта форма на самом деле не является всплывающим окном, поэтому она останется в окне и является HTML и CSS. Если вы добавите еще одну кнопку отправки внутри класса popopen, это позволит пользователю отправить форму как обычно. Я отредактировал ответ, чтобы это отразить.Я также отредактировал javascript, добавив return = true/false в области, чтобы исходный submit остановился, когда он туда попал (или продолжите, если нет popopen) – iexiak

 Смежные вопросы

  • Нет связанных вопросов^_^