Php 为什么这个javascript不能以弹出形式获得我们想要的值
我有一个弹出式表单,如下所示 这是密码Php 为什么这个javascript不能以弹出形式获得我们想要的值,php,javascript,html,sql-server-2008,jquery,Php,Javascript,Html,Sql Server 2008,Jquery,我有一个弹出式表单,如下所示 这是密码 *<div class="popup_window_css" id="sample" display="none"> <table class="popup_window_css"> <tr class="popup_window_css"> <td class="popup_window_css"> <div class="popup_window_css_head">&l
*<div class="popup_window_css" id="sample" display="none">
<table class="popup_window_css">
<tr class="popup_window_css">
<td class="popup_window_css">
<div class="popup_window_css_head"><img src="../../images/close.gif" alt="" width="9" height="9" />Aksi</div>
<div class="popup_window_css_body"><div style="border: 1px solid #808080; padding: 6px; background: #FFFFFF;">
<div>
Werehouse Product
<br><select id="wp" name="wp" >
<option selected>- Jenis Werehouse -</option>
<?php
$q = mssql_query("select WHSName from tblSPDMstWarehouseProduct Order by WHSID");
while ($r = mssql_fetch_array($q)){
echo "<option value=$r[WHSName]>$r[WHSName]</option>";
}
?>
</select>
</br>
Posisi
<br><input type="text" id="posisi" name="posisi" readonly/></br>
Product ID
<br><select id="pid" name="pid">
<option selected = "selected" >- Produk ID -</option>
<?php
$q = mssql_query("select ProductID from tblMstProduct Order by ProductID");
while ($r = mssql_fetch_array($q)){
echo "<option value=$r[ProductID]>$r[ProductID]</option>";
}?>
</select>
</br>
Product Name
<br><input type="text" id="pname" name="pname" size="65" readonly/>
</br>
Production Date
<br><input type='text' id="tgl" name="tgl"></br>
<button id="save">Save</button>
<button id="view">View</button>
<button id="delete">Delete</button>
<span id="status"></span>
<img src="../../images/loading.gif" id="loading" style="display:none">
</div>
<div class="popup_window_css_foot"></div></td></tr></table>
</div>*
*
阿克西
Werehouse产品
-杰尼斯韦勒豪斯酒店-
波西西
产品ID
-产品标识-
品名
生产日期
拯救
看法
删除
*
使用ajax.jquery作为控制事件。如$(“#save”)。单击(函数(){…})
var-wp;
var Possi;
var-pid;
变量pname;
变量更新;
var datanya;
$(文档).ready(函数(){
//jika tombol拯救diclick
$(“#保存”)。单击(函数(){
//模糊模糊模糊模糊模糊模糊模糊模糊模糊模糊模糊模糊模糊模糊模糊模糊模糊模糊模糊模糊模糊模糊模糊模糊模糊模糊模糊模糊模糊模糊模糊模糊模糊模糊模糊模糊模糊模糊模糊模糊模糊模糊模糊输入
wp=$(“#wp”).val();
如果(wp==“-Jenis Werehouse-”){
警报(“Pilih dulu jenis werehouse”);
退出();
}
posisi=$(“#posisi”).val();
pid=$(“#pid”).val();
如果(pid==“-Produk ID-”){
警报(“Pilih dulu ID Produk”);
退出();
}
pname=$(“#pname”).val();
如果(pname==“”){
警报(“Pilih dulu ID Produk”);
退出();
}
pdate=$(“#pdate”).val();
如果(pdate==“”){
警报(“Isi dulu tanggal inputnya”);
退出();
}
问题就在这里
datanya = "wp="+wp+"&posisi="+posisi+"&pid="+pid+"&pname="+pname;
datanya = datanya+"&pdate="+pdate;
//tampilkan status Updating dan animasinya
$("#status").html("Proses...");
$("#loading").show();
$.ajax({
type:"POST",
url: "aksi.php",
data: "op=save"+datanya,
cache: false,
success: function(msg){
if(msg=="sukses"){
$("#status").html("Data Berhasil Disimpan...");
}else{
$("#status").html("ERROR..penyimpanan data GAGAL!");
}
$("#loading").hide();
}
});
});
});
</script>
datanya=“wp=“+wp+”&posisi=“+posisi+”&pid=“+pid+”&pname=“+pname;
datanya=datanya+“&pdate=“+pdate;
//坦皮尔坎现状更新和动物保护
$(“#status”).html(“Proses…”);
$(“#加载”).show();
$.ajax({
类型:“POST”,
url:“aksi.php”,
数据:“op=save”+datanya,
cache:false,
成功:功能(msg){
如果(消息==“sukses”){
$(“#status”).html(“Data Berhasil Disimpan…”);
}否则{
$(“#status”).html(“ERROR..penyimpanan data GAGAL!”);
}
$(“#加载”).hide();
}
});
});
});
在这个脚本中,我尝试通过元素id获取值,并使用POST as methode。这里是aksi.php代码
<?php
//conect to database
//get the value
$op = $_POST['op'];
if($op == "save"){
$WH = htmlspecialchars($_POST['wp']);
$Posisi = htmlspecialchars($_POST['posisi']);
$ProductID = htmlspecialchars($_POST['pid']);
$ProductName = htmlspecialchars($_POST['pname']);
$ProductionDate = htmlspecialchars($_POST['pdate']);
$save = mssql_query("Insert tblTrnProduct values('$ProductID', '$ProductName', '$WH', '$Posisi', '$ProductionDate')
WHERE Posisi='$Posisi'");
if($save){
echo "sukses";
}else{
echo "error";
}
}
?>
我认为您在ajax post数据值中缺少了一个&
:数据:“op=save&“+datanya,
JQuery附带了一个非常有用的方法,可以对查询字符串进行编码
就你而言:
var datanya = {"op": "save", "wp": wp, "posisi": posisi, "pid": pid, "pname": pname, "pdate": pdate}
[...]
$.ajax({
data: $.param(datanya) ,
[...]
});
您是否尝试过将
msg
调试到成功消息中的控制台,以了解其外观?当msg!=“sukses”
我不明白你的意思,但我在aksi.php中使用了sukses和error参数来显示该消息。很抱歉,我忘记了调用$。param
var datanya = {"op": "save", "wp": wp, "posisi": posisi, "pid": pid, "pname": pname, "pdate": pdate}
[...]
$.ajax({
data: $.param(datanya) ,
[...]
});