【发布时间】:2015-03-11 15:23:45
【问题描述】:
我需要将一个变量从一个脚本发送到另一个脚本,希望你能帮助我。
我要发送的变量是“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 获取变量,但我遇到了一些错误,在此先感谢。
【问题讨论】:
-
尝试
window.campos = XXX;设置值并尝试使用alert (window.campos);在保存事件中显示该值。如果两个脚本都在同一个窗口中运行,这应该可以工作。如果保存脚本在另一个页面上,则需要使用查询字符串参数传递变量。 -
两个脚本都在同一个窗口中运行,我只是不明白你的“XXX”是什么意思,你能解释一下吗?非常感谢。
-
将
campos = campos+1;换成window.campos = window.campos+1;(别忘了先初始化变量,window.campos=0;)。XXX应该只代表一个随机变量值 ;-) -
哦,我现在明白了,xxx 只是一个 var,但我在保存事件中使用“alert (window.campos)”得到“未定义”
-
请适当标记——这纯粹是客户端问题,所以用
php和yii2标记它没有什么意义。
标签: javascript variables counter