编辑:
我想在另一个页面中添加一个按钮值。 我曾经考虑过使用Ajax,但我不知道这是否是最好的方法。
这是我的表格:
<form id="form_prj">
<button class="btn_prj" type="button" name="var_prj" value=60>Afficher</button>
</form>
这是我的 Ajax:projet.php
$(document).ready(function() {
$(document).on('click', '.btn_prj', function() {
var sendData = {
lid: this.value
};
$.ajax({
type: 'POST',
url: '../pit_app/carte.php',
cache: false,
data: {
lid: sendData,
},
success: function(data) {
console.log(data);
window.location = './carte.php';
},
error: function() {
alert("Error Occured");
}
});
});
此处 get_data.php
<?php
include('fonctions.php');
$connect = connect();
if(isset($_POST["lid"])) {
$btn_value = $_POST['lid'];
}else{
echo ("Error");
}
$sql1 = "SELECT row_to_json(fc)FROM (
SELECT 'FeatureCollection' As type, array_to_json(array_agg(f)) As features
FROM (
SELECT 'Feature' As type, ST_AsGeoJSON(ST_transform(ST_SetSRID(geom, 2154),
4326))::json As geometry, row_to_json(n) As properties
FROM chambre As n,projet WHERE ST_Contains(zone_etude,geom) and id_projet=" . $btn_value . ") As f) As fc;";
$result = pg_query($connect, $sql1);
$rs = pg_fetch_array($result);
$legeojson = $rs[0];
?>
EDIT2:
好的,我将查询添加到了isset中,现在又遇到了另一个问题。 在我的第三个文件carte.php中,其中包含get_data.php
我有var geojson = </ br>
但是我需要
var geojson = <?php echo $legeojson;?>;
注意:未定义变量:legeojson在 第108行的E:\ wamp \ www \ stage_axians \ pit_app \ carte.php
答案 0 :(得分:1)
我对您的代码做了一些小的整理。您的点击操作有点错误,您可以使用$('[name="var_prj"]')
来获取按钮实例的名称,这意味着$(this)
会在click
事件的主体中完全返回该按钮>
接下来,要从按钮value
属性中获取值,可以使用$(this).attr('value')
,如果要从input
标签中获取值,则可以使用简单的$(this).val()
。 / p>
最后一部分是您的data
调用的AJAX
参数。如果您已经有一个具有键和值的对象,只需将其放在data
$.ajax
参数中
<form id="form_prj">
<button type="button" name="var_prj" value=60>Afficher</button>
</form>
$(document).ready(function () {
$('[name="var_prj"]').click(function () {
var sendData = {
lid: $(this).attr('value'),
};
$.ajax({
type: 'POST',
url: '../pit_app/carte.php',
cache: false,
data: sendData,
success: function (data) {
window.location = './carte.php';
},
error: function () {
alert('Error Occured');
},
});
});
});
这是发送AJAX请求后的$_POST
的{{1}}数组。
carte.php
希望我的回答对您有帮助