将结果从JS转到CI

时间:2016-10-23 11:35:51

标签: javascript php html codeigniter

我坚持使用这个,我希望从js到CI的结果..我想从js获得字符串类型数据,并将其发送回CI。 这是我的代码:

<?php $i=0; foreach ($bahanx as $pin2){ ?> <script type="text/javascript">
      document.write("<div class='input-group' style='width:175%'><label class='input-group-addon' style='width:100px'><input type='checkbox' name='bahan' aria-label='Checkbox for following text input' value="+<?php echo $pin2->id_barang ?>+" oninput='changeText(this,"+<?php echo $i ?>+");' > <?php echo $pin2->nama_barang;?></label><input type='text' class='form-control' aria-label='Text input with checkbox' name='banyak_bahan' value='0' disabled/></div><br/>");
    </script>
<?php
$i++; } ?>

和此:

var item_box = document.getElementsByName('banyak_bahan');
var item_name = document.getElementsByName('bahan');
var tot;
function changeText(e,i){
  item_name[i].value = e.checked ? 1 : 0;
  item_box[i].disabled = !e.checked;
  var x=x+","+item_box[i];
  var y=y+","+item_name[i];
  //alert(x);
  document.getElementById('fff').innerHTML=x+"<br/>"+y;
}

ID = FFF

<div id='fff'></div>

结果:

  

undefined,[object HTMLInputElement]   undefined,[object HTMLInputElement]

1 个答案:

答案 0 :(得分:1)

试试这个你有无效的js字符串,因为你在里面打印+<?php echo $aaa;?>+试图删除+

UPDATE:尝试直接从php回复。

<?php
$i=0;
 foreach ($bahanx as $pin2){ 
      echo "<div class='input-group' style='width:175%'><label class='input-group-addon' style='width:100px'><input type='checkbox' name='bahan' aria-label='Checkbox for following text input' value='".$pin2->id_barang."' oninput='changeText(this,".$i.");' > ". $pin2->nama_barang ."</label><input type='text' class='form-control' aria-label='Text input with checkbox' name='banyak_bahan' value='0' disabled/></div><br/>";
      $i++; 
 } 
 ?>

而不是

<?php $i=0; foreach ($bahanx as $pin2){ ?>
    <script type="text/javascript">
      document.write("<div class='input-group' style='width:175%'><label class='input-group-addon' style='width:100px'><input type='checkbox' name='bahan' aria-label='Checkbox for following text input' value="<?php echo $pin2->id_barang; ?>" oninput='changeText(this,"<?php echo $i; ?>");' > <?php echo $pin2->nama_barang; ?></label><input type='text' class='form-control' aria-label='Text input with checkbox' name='banyak_bahan' value='0' disabled/></div><br/>");
    </script>
    <?php $i++; } ?>

更新:您看到x&amp; y未定义为第一,要获取复选框元素的值,您必须使用item_name[i].valueitem_box[i].value

var item_box = document.getElementsByName('banyak_bahan');
var item_name = document.getElementsByName('bahan');
var tot;
function changeText(e,i){
  item_name[i].value = e.checked ? 1 : 0;
  item_box[i].disabled = !e.checked;
  var x= item_box[i].value;
  var y= item_name[i].value;
  //alert(x);
  document.getElementById('fff').innerHTML=x+"<br/>"+y;
}