我正在尝试将变量发送到服务器但是url没有转到php文件..我做错了什么?是因为我没有使用提交按钮吗?这是我的代码..
<table id="table">
<?php for($i=0; $i<$totalbesin; $i++) { ?>
<tr>
<td class="td" id="<?php echo "name".$i?>"><?php echo $besin[$i]['n']?></td>
<td class="td" id="<?php echo "kal".$i?>"><?php echo $besin[$i]['kal']?></td>
<td class="td" id="<?php echo "pro".$i?>"><?php echo $besin[$i]['pro']?></td>
<td class="td" id="<?php echo "kar".$i?>"><?php echo $besin[$i]['kar']?></td>
<td class="td" id="<?php echo "yag".$i?>"><?php echo $besin[$i]['yag']?></td>
<td class="ekle" id="yuk<?php echo $i?>">Ekle</td>
</tr>
<script type="text/javascript" >
$(function() {
$("#yuk<?php echo $i?>").click(function()
{
var name = $("#<?php echo "name".$i?>").val();
var kal = $("#<?php echo "kal".$i?>").val();
var pro = $("#<?php echo "pro".$i?>").val();
var kar = $("#<?php echo "kar".$i?>").val();
var yag = $("#<?php echo "yag".$i?>").val();
var dataString = '&name='+ name + '&kal=' + kal + '&pro=' + pro + '&kar=' + kar + '&yag=' + yag;
$.ajax({
type: "POST",
url: "dietup.php",
data: dataString,
cache: false,
success: function(html){
$("span#sonuc").text("<?php echo $i?>");
}
});
return false;
}); });
</script>
<?php } ?>
</table>
答案 0 :(得分:0)
看看ajaxForm&amp; ajaxSubmit,否则你需要一个提交按钮。
答案 1 :(得分:0)
试试这个
$.ajax({
type: "POST",
url: "dietup.php",
data: {
name: name,
kal: kal,
pro: pro
//and so on
},
cache: false,
success: function(html){
$("span#sonuc").text("<?php echo $i?>");
}
});
答案 2 :(得分:0)
使用此选项将值设置为变量:
var name = $("#name<?php echo$i?>").val();
var kal = $("#kal<?php echo $i?>").val();
var pro = $("#pro<?php echo $i?>").val();
var kar = $("#kar<?php echo $i?>").val();
var yag = $("#yag<?php echo $i?>").val();
答案 3 :(得分:0)
在您的代码中,据我所知,您似乎正在尝试使用php为您的javscript变量赋值。
语法存在问题,您要将值分配给javscript变量。
请注意以下代码中的以下代码段:
var name = $("#<?php echo "name".$i?>").val();
var kal = $("#<?php echo "kal".$i?>").val();
var pro = $("#<?php echo "pro".$i?>").val();
var kar = $("#<?php echo "kar".$i?>").val();
var yag = $("#<?php echo "yag".$i?>").val();
有什么事似乎不对吗?
疑难杂症!!!!您正在使用双引号将值分配给您的jquery选择器以及正在终止双引号的php echo语句。
尝试使用jquery选择器的单引号和php echo语句的双引号,如下所示:
var name = $('#<?php echo "name".$i?>').val();
答案 4 :(得分:0)
首先,ajax参数数据必须是object,而不是url string。如果你想发送字符串url,请将url字符串添加到url,如下所示:
$.ajax({
url: "dietup.php?&name='+ name + '&kal=' + kal + '&pro=' + pro + '&kar=' + kar + '&yag=' + yag;"
})
但这将是错误的方法
我已将您的脚本划分为两个逻辑组件。 第一:是php循环生成html表 第二:javascript函数,谁发送ajax请求
<table id="table">
<?php for($i=0; $i<$totalbesin; $i++) { ?>
<tr rel="<?php echo $i ?>">
<td class="td name" id="<?php echo "name".$i?>"><?php echo $besin[$i]['n']?></td>
<td class="td kal" id="<?php echo "kal".$i?>"><?php echo $besin[$i]['kal']?></td>
<td class="td pro" id="<?php echo "pro".$i?>"><?php echo $besin[$i]['pro']?></td>
<td class="td kar" id="<?php echo "kar".$i?>"><?php echo $besin[$i]['kar']?></td>
<td class="td yag" id="<?php echo "yag".$i?>"><?php echo $besin[$i]['yag']?></td>
<td class="ekle" id="yuk<?php echo $i?>">Ekle</td>
</tr>
<?php } ?>
</table>
<script type="text/javascript" >
$(function() {
$(".ekle").click(function()
{
var parent = $(this).closest('tr');
var data = {
name: parent.find('.name').val(),
kal: parent.find('.kal').val(),
pro: parent.find('.pro').val(),
kar: parent.find('.kar').val(),
yag: parent.find('.yag').val()
};
$.ajax({
type: "POST",
url: "dietup.php",
data: data,
cache: false,
success: function(html){
$("span#sonuc").text(parent.attr('rel'));
}
});
return false;
});
});
</script>
答案 5 :(得分:0)
我发现了问题..这是因为它没有从td获取数据,我尝试了getelementById但它也没有工作..然后我用了
var name = '<?php echo $besin[$i]['n']?>';
并将数据放入var这样的..现在它的工作原理..谢谢你的时间..如果我能从td获得数据会更好但是现在还可以.. :)
答案 6 :(得分:0)
你需要将val()改为text();像下面的“td”标签没有值标签
var name = $("#<?php echo "name".$i?>").text();
var kal = $("#<?php echo "kal".$i?>").text();
var pro = $("#<?php echo "pro".$i?>").text();
var kar = $("#<?php echo "kar".$i?>").text();
var yag = $("#<?php echo "yag".$i?>").text();
答案 7 :(得分:0)
我有一个类似的脚本,希望这能帮到你:
<script type="text/javascript">
$(function() {
$("#yuk<?php echo $i?>").click(function(event)
{
var name = $("#<?php echo "name".$i?>").text();
var kal = $("#<?php echo "kal".$i?>").text();
var pro = $("#<?php echo "pro".$i?>").text();
var kar = $("#<?php echo "kar".$i?>").text();
var yag = $("#<?php echo "yag".$i?>").text();
var dataString = 'name='+ name + '&kal=' + kal + '&pro=' + pro + '&kar=' + kar + '&yag=' + yag;
//Uncomment to check the querystring
//alert("dietup.php?"+dataString);
$.ajax({
url:"dietup.php?"+dataString,
type:'GET',
dataType:'text',
cache:false,
success:function(data){
alert (data);
},
error:function(jxhr){
alert('Ops, error: '.jxhr.responseText);
}
}); //End Ajax
}); //End Click Function
}); //End Root Function
这是dietup.php的例子:
<?
//Get the parameters
$name = $_GET['name'];
//Do and return what you need
echo "your name is: ". $name;
&GT;