我在视图中有以下蛋糕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;
答案 0 :(得分:2)
这可能是一个评论,但由于我没有足够的声誉......
我猜你试图在特定的动作上更改/分配值到隐藏字段。 我只是假设一个点击事件。
需要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); */
})
答案 1 :(得分:1)
您可以在功能上尝试使用jquery和ajax来检查隐藏输入框的值。