ctp中的Javascript对话框?

ctp中的Javascript对话框?,javascript,cakephp,Javascript,Cakephp,在test.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="e

在test.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文件中,我需要在单击更新按钮时显示一个对话框,以确认用户是否希望继续使用“无状态”? 下面的代码不适用于我,因为我没有获得status\u id值

<script type="text/javascript">

function status() {

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

    }

</script>

功能状态(){
var status_id=$(“#status_id”).val();
警报(状态标识);
}

必需:如果已发布数据中的status_id值为1,则应显示对话框进行确认

要创建一个按钮,您无需继续创建新表单。使用表单->创建

如果出现值等于1的确认窗口,则只需检查下拉列表即可。 要做到这一点,首先你必须了解HTML和JS的基本知识。如果你能实现这一点,你就能做到。将代码blow转换为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为状态\u id吗?我不确定,但我认为cake对元素的名称不同。这里的status\u id与id不同。cake可能正在更改id,例如
StatusId
。因此,在输出html中检查select的id,或者在选项数组中添加一个
id
字段
$form->select('status_id', array('id'=>'status_id')); ?>