dropBox 在表单中不可见 - CakePHP-AjaxMultiUpload
dropBox is not visible in the form - CakePHP-AjaxMultiUpload
我正在使用 CakePHP-AjaxMultiUpload Plugin,并且在 edit.ctp
中有以下代码,但是这里看不到下拉框。
<div class="useTypes form">
<?php echo $this->Form->create('UseType'); ?>
<fieldset>
<legend><?php echo __('Edit Use Type'); ?></legend>
<?php
echo $this->Form->input('id');
echo $this->Form->input('name');
echo $this->Form->input('description');
echo $this->Upload->edit('UseType', $this->Form->fields['UseType.id']);
?>
</fieldset>
<?php
echo $this->Form->end(__('Submit')); ?>
</div>
但是当我单独使用下面的代码时,它是可见的
<?php echo $this->Upload->edit('UseType', $this->Form->fields['UseType.id']);?>
我在带有默认主题的 cakephp 2.6 中试过这个。
您不应该将 $this->Upload->edit()
包裹在 <form>
标签中,因为它已经创建了自己的表单。
您可能还需要更换:
$this->Form->fields['UseType.id']
与:
$this->Form->value('UseType.id')
总而言之,这应该有效:
<?php echo $this->Form->create('UseType'); ?>
<fieldset>
<legend><?php echo __('Edit Use Type'); ?></legend>
<?php
echo $this->Form->input('id');
echo $this->Form->input('name');
echo $this->Form->input('description');
?>
</fieldset>
<?php echo $this->Form->end(__('Submit')); ?>
<?php echo $this->Upload->edit('UseType', $this->Form->value('UseType.id'));?>
编辑
如果您需要在 /use_types/add
视图中上传文件,您可以执行以下操作。
在UseTypeController::add()
中包括:
$this->set('id',CakeText::uuid()); //String::uuid() for CakePHP 2.6 or lower
并在 /app/View/UseTypes/add.ctp
中:
<?php echo $this->Form->input('id',array('type' => 'hidden', 'value' => $id)); ?>
缺点是如果您在通过 AJAX 上传文件后未能保存您的模型,这些将被孤立。
我正在使用 CakePHP-AjaxMultiUpload Plugin,并且在 edit.ctp
中有以下代码,但是这里看不到下拉框。
<div class="useTypes form">
<?php echo $this->Form->create('UseType'); ?>
<fieldset>
<legend><?php echo __('Edit Use Type'); ?></legend>
<?php
echo $this->Form->input('id');
echo $this->Form->input('name');
echo $this->Form->input('description');
echo $this->Upload->edit('UseType', $this->Form->fields['UseType.id']);
?>
</fieldset>
<?php
echo $this->Form->end(__('Submit')); ?>
</div>
但是当我单独使用下面的代码时,它是可见的
<?php echo $this->Upload->edit('UseType', $this->Form->fields['UseType.id']);?>
我在带有默认主题的 cakephp 2.6 中试过这个。
您不应该将 $this->Upload->edit()
包裹在 <form>
标签中,因为它已经创建了自己的表单。
您可能还需要更换:
$this->Form->fields['UseType.id']
与:
$this->Form->value('UseType.id')
总而言之,这应该有效:
<?php echo $this->Form->create('UseType'); ?>
<fieldset>
<legend><?php echo __('Edit Use Type'); ?></legend>
<?php
echo $this->Form->input('id');
echo $this->Form->input('name');
echo $this->Form->input('description');
?>
</fieldset>
<?php echo $this->Form->end(__('Submit')); ?>
<?php echo $this->Upload->edit('UseType', $this->Form->value('UseType.id'));?>
编辑
如果您需要在 /use_types/add
视图中上传文件,您可以执行以下操作。
在UseTypeController::add()
中包括:
$this->set('id',CakeText::uuid()); //String::uuid() for CakePHP 2.6 or lower
并在 /app/View/UseTypes/add.ctp
中:
<?php echo $this->Form->input('id',array('type' => 'hidden', 'value' => $id)); ?>
缺点是如果您在通过 AJAX 上传文件后未能保存您的模型,这些将被孤立。