Cake PHP 将隐藏表单项的值更改为 javascript
Cake PHP change value of hidden form item by javascript
我有下面的蛋糕 php 表格:
<?php $form_id = 'message_form ' + $profile_id ?>
<?php echo $this->Form->create('Post', array('id' => $form_id, 'url' => array('app' => true, 'controller' => 'messages', 'action' => 'new', $profile_id))); ?>
<?php echo $this->Form->input('text', array('type' => 'textarea', 'class' => 'form-control', 'label' => false, 'data-validate' => 'not-empty', 'name' => 'data[Message][content]', 'placeholder' => 'Reply...')); ?>
<?php echo $this->Form->input('hidden', array('type' => 'hidden', 'class' => 'form-control', 'label' => false, 'name' => 'data[Message][parent_id]', 'value' => 1)); ?>
<div class="message-reply-options">
<a href="#"><i class="fa fa-camera"></i></a>
<a href="#"><i class="fa fa-paperclip"></i></a>
<a href="#" class="empty-textarea"><i class="fa fa-trash"></i></a>
<span class="pull-right">
<?php echo $this->Form->submit('Send', array('class' => 'form-control')); ?>
</span>
</div>
<?php echo $this->Form->end(); ?>
这很好用,但是我需要能够通过 javascript 更改隐藏字段的值,具体取决于用户在页面上其他地方所做的事情。
下面是我当前使用的 javascript,但它不会更改值(但也不会出错)。
var newestmessage = response.ChildMessage[response.ChildMessage.length-1];
var parentid = newestmessage.parent_message_id;
document.getElementsByName('data[Message][parent_id]').value = $parentid;
您可以尝试jquery和ajax功能来检查隐藏输入框的值。
这可能是一条评论,但由于我没有足够的声誉...
我猜您正在尝试 change/assign 特定操作的隐藏字段的值。
我只是假设一个点击事件。
Jquery 需要
$('.classNameOfClickableObjt').clilck(function(){
$('input[name="data[Message][parent_id]"]').val(parentid);
/*Another alternative, you might assign attribute, like
$('input[name="data[Message][parent_id]"]').attr('value', parentid); */
})
我有下面的蛋糕 php 表格:
<?php $form_id = 'message_form ' + $profile_id ?>
<?php echo $this->Form->create('Post', array('id' => $form_id, 'url' => array('app' => true, 'controller' => 'messages', 'action' => 'new', $profile_id))); ?>
<?php echo $this->Form->input('text', array('type' => 'textarea', 'class' => 'form-control', 'label' => false, 'data-validate' => 'not-empty', 'name' => 'data[Message][content]', 'placeholder' => 'Reply...')); ?>
<?php echo $this->Form->input('hidden', array('type' => 'hidden', 'class' => 'form-control', 'label' => false, 'name' => 'data[Message][parent_id]', 'value' => 1)); ?>
<div class="message-reply-options">
<a href="#"><i class="fa fa-camera"></i></a>
<a href="#"><i class="fa fa-paperclip"></i></a>
<a href="#" class="empty-textarea"><i class="fa fa-trash"></i></a>
<span class="pull-right">
<?php echo $this->Form->submit('Send', array('class' => 'form-control')); ?>
</span>
</div>
<?php echo $this->Form->end(); ?>
这很好用,但是我需要能够通过 javascript 更改隐藏字段的值,具体取决于用户在页面上其他地方所做的事情。
下面是我当前使用的 javascript,但它不会更改值(但也不会出错)。
var newestmessage = response.ChildMessage[response.ChildMessage.length-1];
var parentid = newestmessage.parent_message_id;
document.getElementsByName('data[Message][parent_id]').value = $parentid;
您可以尝试jquery和ajax功能来检查隐藏输入框的值。
这可能是一条评论,但由于我没有足够的声誉...
我猜您正在尝试 change/assign 特定操作的隐藏字段的值。 我只是假设一个点击事件。
Jquery 需要
$('.classNameOfClickableObjt').clilck(function(){
$('input[name="data[Message][parent_id]"]').val(parentid);
/*Another alternative, you might assign attribute, like
$('input[name="data[Message][parent_id]"]').attr('value', parentid); */
})