2014-02-19 58 views
0

在test.ctp文件ctp中的Javascript對話框?

<?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文件,我需要一個對話框,點擊確認按鈕更新時顯示,如果用戶想繼續使用「無狀態」或不? 以下代碼不適用於我,我沒有獲取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''的id。因此,請檢查輸出html中的select的id,或者在options數組中添加一個「id」字段 – Eagle

回答

1

要創建一個按鈕,你並不需要保存創建一個新的形式。使用形式 - >創建...

你想要的是隻是爲了檢查下拉如果值等於1個出現confirmation_window。 要做到這一點首先你必須知道HTML和JS的基礎。如果你能實現這一點,你將能夠做到這一點。將代碼轉換爲cakephp標籤和表單。它會得到它的工作。

<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')); ?>