在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,则应出现对话框以进行确认。
答案 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')); ?>