ctp中的Javascript对话框?
在test.ctp文件中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
<?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')); ?>