php – jQuery更新隐藏的输入值,但不传递给POST变量
发布时间:2020-12-13 15:57:38 所属栏目:PHP教程 来源:网络整理
导读:我已经为地址数据构建了一个 HTML表单,我想在通过POST变量将所有表单字段提交到SQL数据库之前计算地址的纬度和经度. 现在我的控制台显示我已成功编辑了带有lat / lng值的隐藏“latInput”和“lngInput”字段DOM.但是,我的PHP脚本中的POST变量未捕获该更改.
我已经为地址数据构建了一个
HTML表单,我想在通过POST变量将所有表单字段提交到SQL数据库之前计算地址的纬度和经度.
现在我的控制台显示我已成功编辑了带有lat / lng值的隐藏“latInput”和“lngInput”字段DOM.但是,我的PHP脚本中的POST变量未捕获该更改. 隐藏的表格字段: <input type="hidden" name="latInput" id="latInput" value=""> <input type="hidden" name="lngInput" id="lngInput" value=""> jQuery设置/检查隐藏字段的DOM更新: //insert new lat/lng variables to the hidden form inputs,so PHP can access POST and insert into SQL database $("#latInput").attr('value',localLat); $("#lngInput").attr('value',localLng); //confirm hidden input fields were set with lat/lng values console.log("latInput set to: " + $("input[name=latInput]").val()); console.log("lngInput set to: " + $("input[name=lngInput]").val()); PHP脚本检查lat / lng的POST变量,并将所有字段提交到数据库: $lat = $_POST['latInput']; $lng = $_POST['lngInput']; echo('<p>POST variable for lat = '.$lat.'</p>'); echo('<p>POST variable for lng = '.$lng.'</p>'); //choose SQL fields (column names),then choose HTML form fields ("name" attribute) $sql = "INSERT INTO $tablename (name,address1,city,state,zip,latitude,longitude) VALUES ('$_POST[firstName]','$_POST[address1]','$_POST[city]','$_POST[state]','$_POST[zipCode]','$_POST[latInput]','$_POST[lngInput]')"; 请注意 – 所有其他表单字段(地址1,城市等)都成功传递POST变量并在提交时输入数据库.即使DOM正在为隐藏的latInput和lngInput字段进行更新,这也不会触及我的本地$lat和$lng变量. POST仍然没有返回任何值.我尝试用下面的虚拟数据更新原始隐藏的latInput和lngInput字段,并且虚拟数据通过罚款. 虚拟数据: <input type="hidden" name="latInput" id="latInput" value="1.234"> <input type="hidden" name="lngInput" id="lngInput" value="2.345"> 任何想法为什么会这样下降? 谢谢您的帮助! 解决方法
我有同样的问题.
This answer帮助了我.解决方案是使用名称选择器而不是id.
形成: <form id="my-form" action="post"> <input type="hidden" name="latInput"> <input type="hidden" name="lngInput"> <input type="submit" value="Submit"> </form> JQuery的 $('#my-form input[name=latInput]').val(localLat); $('#my-form input[name=latInput]').val(localLng); 这些值将成功传递给POST. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |