如何在yii中使用append

时间:2015-04-08 06:08:12

标签: javascript php yii

我在yii中创建了一个表单并尝试使用append方法。在所述形式中,用户选择项目并输入金额。如果他们点击按钮,它将调用该功能。在输出中,它显示"对象文本"。我该如何检索它?



<script type="text/javascript">
function myfunction ()
		 {
            var newElem = document.createElement ("div");
            newElem.innerHTML =document.createTextNode(amount);
            newElem.style.color = "red";

            var container = document.getElementById ("new");
            container.appendChild (newElem);
        }
</script>
&#13;
<div class="form">
<?php $form=$this->beginWidget('CActiveForm', array(
	'id'=>'travel1-form',
	'enableClientValidation'=>true,
	'clientOptions'=>array(
		'validateOnSubmit'=>true,
	),
)); ?>

	<p class="note">Fields with <span class="required">*</span> are required.</p>
    <div class="row">
    <?php echo $form->labelEx($model,'name'); ?>
	<?php echo $form->textField($model,'name',array('name'=>'name'),array('class'=>'addtocarts')); ?>
	<?php echo $form->error($model,'name'); ?>
	</div>
    <div class="row">
    <?php echo $form->labelEx($model,'Seattype'); ?>
	<?php echo $form->dropDownList($model,'seattype',
			  array('S' => 'Sleeper', 'M' => 'Semi-sleeper','A'=>'Seater'),
              array('empty' => '(Select Type)','name'=>'seattype'));?>
 	<?php echo $form->error($model,'seattype'); ?>
	</div>
 <div class="row">
    <?php echo $form->labelEx($model,'amount'); ?>
	<?php echo $form->textField($model,'amount',array('name'=>'amount')); ?>
	<?php echo $form->error($model,'amount'); ?>
	</div>
   
</div>
    <?php echo CHtml::submitButton('Submit',array('name'=>'submit'))?>
     <?php echo CHtml::htmlButton('AddtoCart',array('name'=>'addtocart','onclick'=>'myfunction();'))?>
      <div id="new">
    </div>
     
        <?php $this->endWidget(); ?>
</div>
&#13;
&#13;
&#13;

2 个答案:

答案 0 :(得分:0)

您需要从文本字段中获取amount,然后在创建文本节点后,将其附加到newElem

function myfunction() {
    var amount = document.getElementById('amount').value;  // amount value from textfield
    var newElem = document.createElement("div");
    
    newElem.appendChild(document.createTextNode(amount));
    /* You can also use innerHTML instead of the above line like this newElem.innerHTML = amount; */
    
    newElem.style.color = "red";

    var container = document.getElementById("new");
    container.appendChild(newElem);
}
<div id="new"></div>
<input type="text" id="amount" />
<button onclick="myfunction()">Click</button>

答案 1 :(得分:0)

请更改您的js功能,如下所示

<script>
function myfunction ()
         {           
           var container = document.getElementById ("new");
           var newElem = document.createElement ("div");
           newElem.innerHTML =$('#amount').val();
           newElem.style.color = "red";
           container.appendChild (newElem);
        }
</script>

此金额textfield应包含"id"

<div class="row">
    <?php echo $form->labelEx($model,'amount'); ?>
    <?php echo $form->textField($model,'amount',array('name'=>'amount','id'=>'amount')); ?>
    <?php echo $form->error($model,'amount'); ?>
    </div>