ctp中的Javascript对话框?

时间:2014-02-19 10:12:57

标签: 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="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,则应出现对话框以进行确认。

1 个答案:

答案 0 :(得分:1)

要创建一个按钮,您无需继续创建新表单。使用form-&gt; create ...

你想要的只是检查下拉菜单,如果值等于1,则出现confirm_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')); ?>