通过这个选择去请求服务器的数据:<select name="goods_type" onchange="getAttrList(this.value)" style="border:1px solid #999;">
<option value="0">请选择商品类型</option>
<option label="音乐" value="6">音乐</option>
<option label="叉车" value="1">叉车</option>
</select>有一段html代码:<div id="goods_attr_val">/div>视图这里有一段js: function getAttrList(goodsAttrId)
{
jQuery.ajax({
type: "post",
url: "index.php?a=Ajax&m=findGoodsAttr",
data:'goodsAttrId='+goodsAttrId+'&action=getAttr',
success: function (data) {
jQuery("#goods_attr_val").html(data)
},
error: function (XMLHttpRequest, textStatus, errorThrown) {
alert(errorThrown);
}
});
}所以我用的就是点击这个下拉去触事件,然后ajax去获取服务端的表单数据,填写在<div id="goods_attr_val">/div>中。
服务端表单数据如下: /**
* Ajax调用产品属性分类
* @param int $goodsAttrId 商品属性id
*@return string
*/
public function getGoodsAttr($goodsAttrId){
$goodsModel = new GoodsModel();
$findAll=$goodsModel->findAttrByParentId($goodsAttrId);
$temp='';
if(is_array($findAll) && count($findAll)>0){
foreach ($findAll as $key=>$val){
$temp.='<dd><strong>'.$val->name.':</strong><input type="text" class="text" name="goodsattr[]['.$val->name.']"/></dd>';
}
}
return $temp;
}
然后提交这个表单的时候,获取不到name=goodsattr的值。
<option value="0">请选择商品类型</option>
<option label="音乐" value="6">音乐</option>
<option label="叉车" value="1">叉车</option>
</select>有一段html代码:<div id="goods_attr_val">/div>视图这里有一段js: function getAttrList(goodsAttrId)
{
jQuery.ajax({
type: "post",
url: "index.php?a=Ajax&m=findGoodsAttr",
data:'goodsAttrId='+goodsAttrId+'&action=getAttr',
success: function (data) {
jQuery("#goods_attr_val").html(data)
},
error: function (XMLHttpRequest, textStatus, errorThrown) {
alert(errorThrown);
}
});
}所以我用的就是点击这个下拉去触事件,然后ajax去获取服务端的表单数据,填写在<div id="goods_attr_val">/div>中。
服务端表单数据如下: /**
* Ajax调用产品属性分类
* @param int $goodsAttrId 商品属性id
*@return string
*/
public function getGoodsAttr($goodsAttrId){
$goodsModel = new GoodsModel();
$findAll=$goodsModel->findAttrByParentId($goodsAttrId);
$temp='';
if(is_array($findAll) && count($findAll)>0){
foreach ($findAll as $key=>$val){
$temp.='<dd><strong>'.$val->name.':</strong><input type="text" class="text" name="goodsattr[]['.$val->name.']"/></dd>';
}
}
return $temp;
}
然后提交这个表单的时候,获取不到name=goodsattr的值。
解决方案 »
- 谁传一个上传自动生成缩略图的代码上来啊?
- 关于财务余额的计算
- window.opener.document.getElementById("mycid").value错误:Permission denied
- 新手请教PHP+GD+cURL
- 广州中睿php培训
- php动态图像处理
- 网站改版,请人啦
- 我注册一个gmail账号,说是用户名被占用了,我一看是我的google app aplid占用了该用户名。怎样使用google app aplid作为gmail
- MySQL Fabric 配置问题
- TP 文件上传 Upload类的问题
- 求助JOOMLA 记录访客IP的PHP代码
- 朋友想搞个门户网站,有什么开源的cms推荐
而
<div id="goods_attr_val"></div>
不是表单元素也可以表单提交么?
<dd><strong>经纪人:</strong><input type="text" class="text" name="goodsattr[][经纪人]"></dd><dd><strong>发布时间:</strong><input type="text" class="text" name="goodsattr[][发布时间]"></dd><dd><strong>歌手:</strong><input type="text" class="text" name="goodsattr[][歌手]"></dd><dd><strong>专辑:</strong><input type="text" class="text" name="goodsattr[][专辑]"></dd>
</div>既然表单已经插入DOM结构里面了,应该可以获取得到name值才对啊。
好吧,那我重新换个表单,用这个,这正规的应该能获取到值吧<dd><strong>经纪人:</strong><input type="text" class="text" name="goodsattr"></dd>可是结果很遗憾,仍然是没有获取到name值。
有个问题就是ajax获取到的表单数据插入在DOM结构内,难道这样不行?
<input type="hidden" name="flag" id="flag" />
<dl class="form">
<dd>商品类型:<select name="nav" id="nav">
<option value="-1" selected="selected">--请选择一个商品的类型--</option>
<optgroup label="环球脚轮">
<option label="脚轮配件" value="36">脚轮配件</option> </optgroup>
<optgroup label="物流仓储">
<option label="仓储笼" value="32">仓储笼</option> </optgroup>
<optgroup label="搬运车">
<option label="手动搬运车" value="7">手动搬运车</option>
<option label="电动手动车" value="8">电动手动车</option> </optgroup>
<optgroup label="堆高车">
<option label="手动堆高车" value="9">手动堆高车</option>
<option label="半电动堆高车" value="10">半电动堆高车</option>
<option label="全电动堆高车" value="11">全电动堆高车</option> </optgroup>
<optgroup label="电动叉车">
</optgroup>
<optgroup label="内燃叉车">
</optgroup>
<optgroup label="货架">
<option label="重型货架" value="13">重型货架</option>
<option label="轻型货架" value="14">轻型货架</option>
<option label="后推式货架" value="15">后推式货架</option>
<option label="驶入式货架" value="16">驶入式货架</option>
<option label="货架平台" value="17">货架平台</option>
<option label="流利架" value="18">流利架</option>
<option label="悬臂式货架" value="19">悬臂式货架</option>
<option label="阁楼式货架" value="20">阁楼式货架</option>
<option label="重型货架" value="21">重型货架</option>
<option label="轻型货架" value="22">轻型货架</option>
<option label="后操推式货架" value="23">后操推式货架</option>
<option label="驶入式货架" value="24">驶入式货架</option>
<option label="积层式货架" value="25">积层式货架</option> </optgroup>
<optgroup label="空压">
<option label="螺杆机" value="27">螺杆机</option>
<option label="活塞机" value="28">活塞机</option>
<option label="螺杆机" value="29">螺杆机</option>
<option label="活塞机" value="30">活塞机</option>
<option label="储气罐" value="31">储气罐</option> </optgroup>
<optgroup label="五金">
<option label="巨霸气动工具" value="34">巨霸气动工具</option>
<option label="世达工具" value="35">世达工具</option> </optgroup>
</select> <span class="red">[必选]</span>
</dd>
<dd>商品品牌:<select name="brand" id="brand">
<option value="-1" selected="selected">--请选择一个商品的品牌--</option>
</select> <span class="red">[必选]</span>
</dd>
<dd>商品名称:<input type="text" name="name" class="text" /> <span class="red">[必填]</span> ( * 2-100字符之间 )</dd>
<dd>自定属性:<input type="checkbox" name="flag[]" value="c" />推荐[c]</dd>
<dd>订 货 量:<input type="text" name="more" class="text" />( 例:1-2台,1000元;2-4台,2000元;3-6台,5000元)</dd>
<dd>商品编号:<input type="text" name="sn" id="sn" onblur="checkSn();" class="text" /> <span class="red">[必填]</span> ( * 2-50字符之间,唯一 )</dd>
<dd>优 惠 价:<input type="text" name="price_sale" value="0" class="text small" id="sale" /> 市 场 价:<input type="text" name="price_et" value="0" class="text small" id="price" /> 折 扣:<input type="text" name="discount" value="10" class="text small" id="discount" onblur="keydownSale()"/> ( * 自动计算优惠价 )</dd>
<dd>关 键 字:<input type="text" name="keyword" class="text" /> ( * 例:纯棉|换季|白色;每个关键字用'|'隔开)</dd>
<dd>描 述:<input type="text" name="description" class="text" /> ( * 请简单描述下商品!)</dd>
<dd>发货地点:<input type="text" name="sendaddress" class="text" /> ( * 卖家发货地址!)</dd>
<dd>计量单位:<input type="text" name="unit" class="text small" /> 重 量:<input type="text" name="weight" value="0" class="text small" /> ( * 计量单位:个,kg,件;重量:默认kg)</dd>
<dd>上传图片:<input type="text" name="thumbnail" class="text" readonly="readonly" />
<input type="button" value="上传产品图" class="uploadImg" onclick="centerWindow('?a=call&m=upfile&type=content&p=thumbnail','upfile','400','150')" />
<img name="pic" style="display:none;" /> ( * 保存图片完整性,最佳尺寸为:300 * 300 必须是jpg,gif,png,并且200k内)
</dd>
<dd><textarea id="TextArea1" name="content" class="ckeditor"></textarea></dd>
<dd>是否上架:<input type="radio" name="is_up" value="1" checked="checked" />是 <input type="radio" name="is_up" value="0" />否 免 运 费:<input type="radio" name="is_freight" value="1" checked="checked" />是 <input type="radio" name="is_freight" value="0" />否</dd>
<dd>库 存:<input type="text" name="inventory" value="100" class="text small" /> 库存告急:<input type="text" name="warn_inventory" value="1" class="text small" /> ( * 库存达到指定数量就会在后台提醒 )</dd>
</dl>
</div>
<div class="tabcon" id="con_two_2" style="display:none;background:white;">
<dl style='padding-left:80px;padding-bottom:30px;' class="form" id="form2">
<dd>
<strong>商品类型:</strong>
<select name="goods_type" onchange="getAttrList(this.value)" style='border:1px solid #999;'>
<option value="0">请选择商品类型</option>
<option label="音乐" value="6">音乐</option>
<option label="叉车" value="1">叉车</option> </select><br>
<span class="notice-span" style="display:block;margin-top:5px;" id="noticeGoodsType"> 请选择商品的所属类型,进而完善此商品的属性</span></td>
</dd>
<div id="goods_attr_val">
</div>
<div id="cb"></div>
</div>
<div class="tabcon" id="con_two_3" style="display:none;">
<dl class="addImg">
<dd>1.上传小图:<input type="text" name="p1small" class="text" readonly="readonly" />
<input type="button" value="上传产品图" class="uploadImg" onclick="centerWindow('?a=call&m=upfile&type=content&p=p1small','upfile','400','150')" />
上传大图:<input type="text" name="p1big" class="text" readonly="readonly" />
<input type="button" value="上传产品图" class="uploadImg" onclick="centerWindow('?a=call&m=upfile&type=content&p=p1big','upfile','400','150')" />
</dd>
<dd>2.上传小图:<input type="text" name="p2small" class="text" readonly="readonly" />
<input type="button" value="上传产品图" class="uploadImg" onclick="centerWindow('?a=call&m=upfile&type=content&p=p2small','upfile','400','150')" />
上传大图:<input type="text" name="p2big" class="text" readonly="readonly" />
<input type="button" value="上传产品图" class="uploadImg" onclick="centerWindow('?a=call&m=upfile&type=content&p=p2big','upfile','400','150')" />(* 可选)
</dd>
<dd>3.上传小图:<input type="text" name="p3small" class="text" readonly="readonly" />
<input type="button" value="上传产品图" class="uploadImg" onclick="centerWindow('?a=call&m=upfile&type=content&p=p3small','upfile','400','150')" />
上传大图:<input type="text" name="p3big" class="text" readonly="readonly" />
<input type="button" value="上传产品图" class="uploadImg" onclick="centerWindow('?a=call&m=upfile&type=content&p=p3big','upfile','400','150')" />(* 可选)
</dd>
<dd>4.上传小图:<input type="text" name="p4small" class="text" readonly="readonly" />
<input type="button" value="上传产品图" class="uploadImg" onclick="centerWindow('?a=call&m=upfile&type=content&p=p4small','upfile','400','150')" />
上传大图:<input type="text" name=p4big class="text" readonly="readonly" />
<input type="button" value="上传产品图" class="uploadImg" onclick="centerWindow('?a=call&m=upfile&type=content&p=p4big','upfile','400','150')" />(* 可选)
</dd>
<dd>5.上传小图:<input type="text" name="p5small" class="text" readonly="readonly" />
<input type="button" value="上传产品图" class="uploadImg" onclick="centerWindow('?a=call&m=upfile&type=content&p=p5small','upfile','400','150')" />
上传大图:<input type="text" name=p5big class="text" readonly="readonly" />
<input type="button" value="上传产品图" class="uploadImg" onclick="centerWindow('?a=call&m=upfile&type=content&p=p5big','upfile','400','150')" />(* 可选)
</dd>
</dl>
</div>
<div class="submitBtn"><input type="submit" name="send" class="submit" value="确定" onclick="return addGoods();" /> <input type="reset" value="重置" class="submit" /></div>
</form>
<dl style='padding-left:80px;padding-bottom:30px;' class="form" id="form2">
<dd>
<strong>商品类型:</strong>
<select name="goods_type" onchange="getAttrList(this.value)" style='border:1px solid #999;'>
<option value="0">请选择商品类型</option>
<option label="音乐" value="6">音乐</option>
<option label="叉车" value="1">叉车</option>
</select><br>
<span class="notice-span" style="display:block;margin-top:5px;" id="noticeGoodsType"> 请选择商品的所属类型,进而完善此商品的属性</span></td>
</dd>
<div id="goods_attr_val">
</div>
<div id="cb"></div>
</div>你在开玩笑吧?
getAttrList 在一个不可见的层中调用
下拉框不可见,如何能执行 getAttrList ?
既然是不能执行,当然也就没有相关数据被提交了