input 传值为什么有一个没有收到呢?

2016-07-22 12:07:52 +08:00
 grey5659

前端框架是 miniui , input 明明已经获取到数据了怎么 php 接收不到呢? https://segmentfault.com/img/bVzvM2 https://segmentfault.com/img/bVzvNT https://segmentfault.com/img/bVzvOL

其他 input 就可以接收到。 拜托了, O(∩_∩)O 谢谢~

我直接在往来单位的 input 里输入的话就可以获取到,那这个明明是写进去了,是怎么回事额?

2464 次点击
所在节点    问与答
8 条回复
bdbai
2016-07-22 12:17:09 +08:00
打开开发者工具,切到 Network 一栏,点击提交,观察你的请求有没有问题。这样可以确定问题出在前端还是后端。
如果请求有问题,切到 Source 一栏,在你的提交代码上打断点调试。
如果请求没问题,你又没有 PHP 调试器的话,把 $_GET $_POST 关键的变量全部 dump 出来看。

为什么不贴一下代码呢。
grey5659
2016-07-22 13:39:05 +08:00
@bdbai
贴代码感觉很乱。。
为什么我在里面随便加个字符,然后就可以都传递过来了,如果我不动的话就传过去为空。。。
bdbai
2016-07-22 13:45:30 +08:00
可以贴代码的地方:
https://gist.github.com/
https://paste.ubuntu.com/
https://paste.kde.org/

估计跟 miniui 有关,用检查元素看一下那个框的情况。
grey5659
2016-07-22 13:45:58 +08:00
@bdbai
下面是打开往来单位列表选择:
<form name="form1" id="form1" method="post" action="./exe_current_account.php">
<input name="id" class="mini-hidden" />
<div style="padding-left:11px;padding-bottom:5px;">
<table style="table-layout:fixed;">
<tr>
<td style="width:70px;">往来单位:</td>
<td style="width:150px;">
<input name="current_unit" id="btnEdit1" class="mini-buttonedit" onbuttonclick="onButtonEdit"/>
将选取的 current_unit 提交给 php 接收
<script type="text/javascript">
mini.parse();

function onButtonEdit(e) {
var btnEdit = this;

mini.open({
url: "./current_unit.html",
title: "选择往来单位",
width: 650,
height: 380,
ondestroy: function (action) {

if (action == "ok") {
var iframe = this.getIFrameEl();

var data = iframe.contentWindow.GetData();
data = mini.clone(data);

//btnEdit.setValue(data.id);
btnEdit.setText(data.text);
//alert(data.text);
}
}
});

}

</script>
下面是 current_unit.html 显示往来单位列表
<script type="text/javascript">
mini.parse();

var grid = mini.get("grid1");

//动态设置 URL
grid.setUrl("./data/AjaxService.php?method=SearchEmployeesUnit");
//也可以动态设置列 grid.setColumns([]);

grid.load();

function GetSelecteds() {
var rows = grid.getSelecteds();
return rows;
}
function GetData() {
var rows = grid.getSelecteds();
var ids = [], texts = [];
for (var i = 0, l = rows.length; i < l; i++) {
var row = rows[i];
ids.push(row.id);
texts.push(row.current_unit);//将选中的行(列名)放进表单
}
var data = {};
data.id = ids.join(",");
data.text = texts.join(",");
return data;
}
bdbai
2016-07-22 14:32:09 +08:00
@grey5659 检查元素看一下那个框的情况。
miniui 我没用过,他们好像有技术支持的。
grey5659
2016-07-22 14:42:47 +08:00
@bdbai 明明已经拿到数据了,那可以直接把这个数据再重新放到这个 input 里吗? js 我不太熟
bdbai
2016-07-22 14:49:15 +08:00
@grey5659 检查元素看一下那个框的情况。
grey5659
2016-07-22 15:08:35 +08:00
@bdbai
谢谢,终于找到了,在 miniui 中 input 的 name 其实要用 textName.....坑爹
O(∩_∩)O 谢谢

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/294161

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX