2015-04-08 3 views
0

Я создал форму в yii и попытался использовать метод append. В указанной форме пользователь выбирает элементы и вводит сумму. Если они нажмут на кнопку, она вызовет функцию. На выходе отображается «текст объекта». Как его получить?Как использовать append в yii

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

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

 
\t <p class="note">Fields with <span class="required">*</span> are required.</p> 
 
    <div class="row"> 
 
    <?php echo $form->labelEx($model,'name'); ?> 
 
\t <?php echo $form->textField($model,'name',array('name'=>'name'),array('class'=>'addtocarts')); ?> 
 
\t <?php echo $form->error($model,'name'); ?> 
 
\t </div> 
 
    <div class="row"> 
 
    <?php echo $form->labelEx($model,'Seattype'); ?> 
 
\t <?php echo $form->dropDownList($model,'seattype', 
 
\t \t \t array('S' => 'Sleeper', 'M' => 'Semi-sleeper','A'=>'Seater'), 
 
       array('empty' => '(Select Type)','name'=>'seattype'));?> 
 
    \t <?php echo $form->error($model,'seattype'); ?> 
 
\t </div> 
 
<div class="row"> 
 
    <?php echo $form->labelEx($model,'amount'); ?> 
 
\t <?php echo $form->textField($model,'amount',array('name'=>'amount')); ?> 
 
\t <?php echo $form->error($model,'amount'); ?> 
 
\t </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>

+0

Что 'amount' в сценарии? – hamed

+0

Попробуйте добавить его в newElem, как этот 'newElem.appendChild (document.createTextNode (amount))' – anpsmn

+0

Я хочу напечатать сумму, которую дает пользователь. Так что я просто попробовал с суммой в js – KanimozhiPalanisamy

ответ

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> 
+0

Спасибо @manadh его за работой.. – KanimozhiPalanisamy

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>

Смежные вопросы