Javascript jquery在将参数过帐到另一个页面时出现问题
我基本上是尝试从一个充满可编辑div的表中传递参数,并尝试将它们保存到数据库中 我的表代码和脚本在这里 这是我的主文件products.php的一部分,我在其中显示products表中存储的所有产品,无论它们是活动产品还是非销售产品Javascript jquery在将参数过帐到另一个页面时出现问题,javascript,php,jquery,html,function,Javascript,Php,Jquery,Html,Function,我基本上是尝试从一个充满可编辑div的表中传递参数,并尝试将它们保存到数据库中 我的表代码和脚本在这里 这是我的主文件products.php的一部分,我在其中显示products表中存储的所有产品,无论它们是活动产品还是非销售产品 <table id="tablapro"> <thead> <tr> <th>Product</th> <th>Price</th>
<table id="tablapro">
<thead>
<tr>
<th>Product</th>
<th>Price</th>
<th>weight(Kg)</th>
<th colspan="3">Dimensions(LXAnXAl)</th>//L stands for lenght, An for width, Al for Height
<th>Units</th>
<th>Activt</th>
<th>Action</th>
</tr>
</thead>
<tbody>
<tr>
<td><div id="n3">Lámpara 3</div></td><td><div id="pr3">18.00</div></td><td><div id="pe3">0.8</div></td><td><div id="l3">20</div></td><td><div id="an3">20</div></td><td><div id="al3">20</div></td><td><div id="e3">9</div></td><td><div id="a3">No</div></td><td><button class="save" value="3">Guardar</button></a></td></tr>
<tr><td><div id="n4">Lámpara 4</div></td><td><div id="pr4">22.00</div></td><td><div id="pe4">1.1</div></td><td><div id="l4">20</div></td><td><div id="an4">20</div></td><td><div id="al4">20</div></td><td><div id="e4">16</div></td><td><div id="a4">No</div></td><td><button class="save" value="4">Guardar</button></a></td></tr>
<tr><td><div id="n5">Lámpara 5</div></td><td><div id="pr5">23.00</div></td><td><div id="pe5">1.2</div></td><td><div id="l5">20</div></td><td><div id="an5">20</div></td><td><div id="al5">20</div></td><td><div id="e5">24</div></td><td><div id="a5">Si</div></td><td><button class="save" value="5">Guardar</button></a></td></tr>
<tr><td><div id="n6">Lámpara 6</div></td><td><div id="pr6">15.00</div></td><td><div id="pe6">0.9</div></td><td><div id="l6">20</div></td><td><div id="an6">20</div></td><td><div id="al6">20</div></td><td><div id="e6">16</div></td><td><div id="a6">Si</div></td><td><button class="save" value="6">Guardar</button></a></td></tr>
<tr><td><div id="n7">Lámpara 7</div></td><td><div id="pr7">19.00</div></td><td><div id="pe7">1.1</div></td><td><div id="l7">20</div></td><td><div id="an7">20</div></td><td><div id="al7">20</div></td><td><div id="e7">34</div></td><td><div id="a7">No</div></td><td><button class="save" value="7">Guardar</button></a></td></tr>
<tr><td><div id="n8">Lámpara 8</div></td><td><div id="pr8">21.00</div></td><td><div id="pe8">1.2</div></td><td><div id="l8">20</div></td><td><div id="an8">20</div></td><td><div id="al8">20</div></td><td><div id="e8">12</div></td><td><div id="a8">No</div></td><td><button class="save" value="8">Guardar</button></a></td></tr>
<tr><td><div id="n9">Lámpara 9</div></td><td><div id="pr9">28.00</div></td><td><div id="pe9">1.1</div></td><td><div id="l9">20</div></td><td><div id="an9">20</div></td><td><div id="al9">20</div></td><td><div id="e9">18</div></td><td><div id="a9">No</div></td><td><button class="save" value="9">Guardar</button></a></td></tr>
<tr><td><div id="n15">Lampara 1</div></td><td><div id="pr15">19.50</div></td><td><div id="pe15">1.1</div></td><td><div id="l15">19</div></td><td><div id="an15">15</div></td><td><div id="al15">15</div></td><td><div id="e15">100</div></td><td><div id="a15">No</div></td><td><button class="save" value="15">Guardar</button></a></td></tr>
<tr><td><div id="n16">Lámpara 2</div></td><td><div id="pr16">27.80</div></td><td><div id="pe16">1.7</div></td><td><div id="l16">17</div></td><td><div id="an16">18</div></td><td><div id="al16">19</div></td><td><div id="e16">100</div></td><td><div id="a16">No</div></td><td><button class="save" value="16">Guardar</button></a></td></tr>
<tr><td><div id="n17">Lámpara 10</div></td><td><div id="pr17">24.00</div></td><td><div id="pe17">1.8</div></td><td><div id="l17">21</div></td><td><div id="an17">13</div></td><td><div id="al17">15</div></td><td><div id="e17">50</div></td><td><div id="a17">No</div></td><td><button class="save" value="17">Guardar</button></a></td></tr>
</tbody>
</table>
这是我的主要js文件estilos.js
$(document).ready(function () { into inputs
$("#tablapro div").click(divClicked);
});//i use this function to turn all the divs elements into inputs and also insert the ids
function divClicked() {
var divHtml = $(this).html();
valorid = $(this).attr("id");
var aText = $('<input id="' + $(this).attr("id") + '" type="text" />');
aText.val(divHtml);
$(this).replaceWith(aText);
aText.focus();
// setup the blur event for this new textarea
aText.blur(aTextBlurred);
}//this changes the divs to inputs and allows the insertion of text
function aTextBlurred() {
var ahtml = $(this).val();
var aText = $('<div id="' + valorid + '" />');
aText.html(ahtml);
$(this).replaceWith(aText);
// setup the click event for this new div
aText.click(divClicked);
}//this changes the inputs back to normal and changes its content to store the changes
$(document).ready(function () {
$(".save").click(saveid);
});// this function allows me to retrieve the content of the elements using its ids
function saveid(){
var divid=$(this).val();//this is the product's id
var nomrow=$('#n'+ $(this).val()).html();//the product's name
var prerow=$('#pr'+$(this).val()).html();//the product's price
var perow=$('#pe'+$(this).val()).html();//the product's weight
var lonrow=$('#l'+$(this).val()).html();//the product's box length
var anrow=$('#an'+$(this).val()).html();//the product's box width
var alrow=$('#al'+$(this).val()).html();//the product's box height
var exrow=$('#e'+$(this).val()).html();//the product's units
if($('#a'+$(this).val()).html()=="Si"){
var acrow=1;
}
else{
var acrow=0;
};//whether the product will display or not on the main page
alert(divid + " "+nomrow + " " + prerow + " " + perow + " " + lonrow + " " + anrow + " " + alrow + " " + exrow + " " + acrow );
//to check if its catching the right values
var postData={
"id" : divid,
"nomp" : nomrow,
"prep" : prerow,
"pep" : perow,
"lonp" : lonrow,
"anp" : anrow,
"alp" : alrow,
"exp" : exrow,
"acp" : acrow
};//formatting the data for the $.post
$.post( 'salva.php',
postData,function(data,status){
console.log("Data: " + data + "\nStatus: " + status);
});//salva.php is the destination file for the previous values
}//in there I will update the products table with the new values
<?php
/*include_once "../php/config.php";
$nombre=$_POST['nomp'];
$precio=$_POST['prep'];
$peso=$_POST['pep'];
$largo=$_POST['lonp'];
$ancho=$_POST['anp'];
$altura=$_POST['alp'];
$existencias=$_POST['exp'];
$activo=$_POST['acp'];*/
$data = array('success' => 'Register Completed', 'postData' => $_REQUEST);
echo json_encode($data);
?>
嗯,它似乎工作得很好,因为当我检查日志时,我得到了以下信息
职位
数据:{成功:注册完成,发布数据:{id:3,nomp:L\u00e1mpara 3,prep:18.00,pep:0.8,lonp:20,anp:20,alp:20,exp:9,acp:0,PHPSESSID:9c2135f2d6fa5a43f5ebf3a16942296}
状态:成功
当我尝试将这些值分配给salva.php中的任何注释变量时,它们都显示为null。
我做错了什么?请发布呈现的HTML,而不是PHP。除非你认为PHP是个问题……你有没有把$u POST数组变为变量?你得到了什么?顺便说一下数据:{success:Register Completed,postData:{id:3,nomp:L\u00e1mpara 3,prep:18.00,pep:0.8,lonp:20,anp:20,alp:20,exp:9,acp:0,PHPSESSID:9c2135f2d6fa5a43f5ebf3a16942296}状态:success是我在浏览器控制台中得到的评论