2014-02-19 5 views
0

В test.ctp файлДиалоговое окно JavaScript в ctp?

<?php echo $form->create(null, array('url' => 'test/'.$test['Test']['id'], 'onSubmit'=>'return status(this)')); ?> 

<?php echo $form->hidden('id', array('value' => $test['Test']['id'])); ?> 

<dl class="editForm"> 
    <?php echo $form->create(null, array('url' => 'test/'.$test['Test']['id'])); ?> 
    <?php echo $form->hidden('id', array('value' => $test['Test']['id'])); ?> 

    <dt><label><?php __('Update Status');?>:</label></dt> 
    <dd><?php echo $form->select('status_id', $statuses, $selectedStatus, array(), false); ?></dd> 

    <dd><?php echo $form->end(__('Update Status', true)); ?></dd> 
    </dl> 

В том же файле .ctp мне нужно диалоговое окно появится, когда кнопка обновления нажата для подтверждения того, что, если пользователь хочет продолжить «No Status» или нет? Следующий код не работает для меня, где я не получаю значение status_id.

<script type="text/javascript"> 

function status() { 

     var status_id = $("#status_id").val(); 
     alert(status_id); 

    } 

</script> 

Обязательно: Если значение status_id равно 1 в опубликованных данных, тогда для подтверждения должно появиться диалоговое окно.

+0

Вы уверены, что id - status_id? я не уверен, но я думаю, что элемент торта по-разному. – yossi

+0

Здесь status_id отличается от id. – Aeykash

+0

Возможно, Cake меняет идентификатор на что-то вроде 'StatusId'. Поэтому проверьте идентификатор select в выходном html или добавьте поле 'id' в массив опций – Eagle

ответ

1

Чтобы создать одну кнопку, вам не нужно создавать новую форму. с помощью формы-> создать ...

то, что вы хотите, это просто проверить выпадающее меню, если значение равно 1 confirm_window. Для этого сначала вам нужно знать основные HTML и JS. если вы сможете реализовать это, вы сможете это сделать. преобразуйте удар кода в тегирование и форму тэка. это заработает.

<form onsubmit="status();" > 
    <select name="data[User][field]" id="UserField"> 
     <option value="0">1</option> 
     <option value="1">2</option> 
     <option value="2">3</option>   
    </select> 
    <input type="submit" /> 
</form> 


<script> 
    function status() {  
     var status_id = $("#UserField").val(); 
     //or 
     var status_id = document.getElemetById("UserField"); 
     alert(status_id.options[status_id.selectedIndex].value); 
    }  
</script> 

Вы даже можете присвоить id_name своему выпадающему списку. то вы должны иметь возможность получить значение из выпадающего меню с помощью js или jQuery.

$form->select('status_id', array('id'=>'status_id')); ?> 
Смежные вопросы