将变量从 Javascript 发送到 Javascript

Send a variable from Javascript to Javascript

我需要将变量从一个脚本发送到另一个脚本,希望您能帮助我。

我要发送的变量是"campos",它是一个计数器。

这是第一个脚本:

<script>

var campos = 0;

function agregarCampophp(hola){

// alert(campos);

 var data = {};
 data.pruebaId = $('#prueba').val();
 data.deno = $('#subespecifica-descripcion').val();
 data.prep = $('#partidaasociada-presupuestop').val();
 data.tot = $('#partidaasociada-totalp').val();
 // var datad = $.parseJSON(data);
 // alert(data.prep);

 campos = campos+1;
 var NvoCampo= document.createElement("div");
 $('#prueba').attr('value','');
 $('#subespecifica-descripcion').attr('value','');
 $('#partidaasociada-presupuestop').attr('value','');
 $('#partidaasociada-totalp').attr('value','');
 NvoCampo.id= "divcampo_"+(campos);
 NvoCampo.innerHTML= 
 "<table class='table table-striped'  >"+
    "   <tr>" +
 "     <td>" +
 "        <input type='text' size='20' name='articupart_" + campos + 
               "' id='articupart_" + campos + "' value='"+data.pruebaId+"'>" +
 "     </td>" +
 "     <td>" +
 "        <input type='text' size='70' name='articudeno_" + campos + 
               "' id='articudeno_" + campos + "' value='"+data.deno+"'>" +
 "     </td>" +
 "     <td align='right'>" +
 "        <input type='text' size='22' name='articuprep_" + campos + 
               "' id='articuprep_" + campos + "' value='"+data.prep+"'>" +     
 "     </td>" +
 "     <td align='right'>" +
 "        <input type='text' size='22' name='articutot_" + campos + 
               "' id='articutot_" + campos + "' value='"+data.tot+"'>" +
 "     </td>" +
 "     <td align='right'>" +
 "        <input type='hidden' id='c_"+campos+"' value='hola_"+campos+"'>" +
 "     </td>" +

 "   </tr>"+
 " </table>";
 var contenedor= document.getElementById("contenedorcampos");
 contenedor.appendChild(NvoCampo);

data.part = $('#articupart_'+campos).val();
data.deno = $('#articudeno_'+campos).val();
data.prep = $('#articuprep_'+campos).val();
data.tot = $('#articutot_'+campos).val();

}

我需要另一个脚本中的变量 "campos":

$('._save').on('click', function(event){
event.preventDefault();
var data = {};
data.campos = $('#c_2').val();
alert(data.campos);
data.pruebaId = $('#prueba').val();
data.secId = $('#Hidden1').val();
data.proId = $('#Hidden2').val();
data.subId = $('#Hidden3').val();
data.proyId = $('#Hidden4').val();
data.actId = $('#Hidden5').val();
data.prep = $('#partidaasociada-presupuestop').val();
data.tot = $('#partidaasociada-totalp').val();
data.desc = $('#subespecifica-descripcion').val();

var success = function(data){
   console.log("Success!", data);
}
var error = function(data){
   console.log("Error!", data);
}
//     $.ajax({
//       url:'index.php?r=partidaasociada/get-linea',
//       type:'POST',
//       dataType:'json',
//       data:data
//    }, success, error);
});

我正在尝试获取我在第一个中创建的带有隐藏 div 的变量,但我遇到了一些错误,在此先感谢。

很高兴对您有用。所以基本上这就是解决方案:

// initialise the variable if it has not been initialised before
if (typeof(window.campos)=='undefined') {
  window.campos= 0;
}

// increase by one
window.campos+=1;

并且在您的第二个脚本中使用以下方式访问它:

$('._save').on('click', function(event){
  ...
  // access the previously stored view counter
  data.campos= window.campos;
}     

很高兴对你有用!