Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/296.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用Jquery/JS通过API填充表单,需要设置返回post值_Javascript_Php_Jquery - Fatal编程技术网

Javascript 使用Jquery/JS通过API填充表单,需要设置返回post值

Javascript 使用Jquery/JS通过API填充表单,需要设置返回post值,javascript,php,jquery,Javascript,Php,Jquery,我已经集成到通过Jquery填充的第三方交付服务中 [town] -> dropdown [suburb] -> dropdown 页面加载时,所有选定元素均为空。当用户选择城镇时,它会填充郊区 现在,在向服务器发送邮件并返回错误的情况下,我希望通过向正确的下拉值添加select元素,将表单设置为发送表单的状态 例如,用户选择town_ID5和郊区_ID105,表单被发布,并由于错误而返回。在这一点上,我希望以价值5填充城镇,以价值105填充郊区 HTML代码: <div c

我已经集成到通过Jquery填充的第三方交付服务中

[town] -> dropdown
[suburb] -> dropdown
页面加载时,所有选定元素均为空。当用户选择城镇时,它会填充郊区

现在,在向服务器发送邮件并返回错误的情况下,我希望通过向正确的下拉值添加select元素,将表单设置为发送表单的状态

例如,用户选择town_ID5和郊区_ID105,表单被发布,并由于错误而返回。在这一点上,我希望以价值5填充城镇,以价值105填充郊区

HTML代码:

<div class="form-group col-md-6">
    Your town<span class="require">*</span>
        <select name="town_id" id="mds_towns">
            <option value="">Select your town</option>
            <option value="2">Town1</option>
            <option value="3">Town2</option>
            <option value="4">Town3</option>
        </select>...

<div class="form-group col-md-6">
    Your town<span class="require">*</span>
        <select name="suburb_id" id="mds_towns">
            <option value="">Select your suburb</option>
            <option value="2">Suburb1</option>
            <option value="3">Suburb2</option>
            <option value="4">Suburb3</option>
        </select>...

你的城市*
选择你的城镇
镇1
镇2
镇3
...
你的城市*
选择你的郊区
郊区1
郊区2
郊区3
...
我不是jquery专家,我正在为如何在回帖中获得正确值的概念而挣扎

我的一个想法是在每个表单字段中都有一个特殊的span元素,例如:

<span id="suburb_value" value="105"> <-----------------*** ADD THIS ***
<div class="form-group col-md-6">
    Your town<span class="require">*</span>
        <select name="suburb_id" id="mds_towns">
            <option value="">Select your suburb</option>
            <option value="2">Suburb1</option>
            <option value="3">Suburb2</option>
            <option value="4">Suburb3</option>
        </select>...
<script>
$(function(){
    var town_id, suburb_id = false;

    // Here we assign values to these JS variables if they come through via PHP's $_REQUEST.
    <?php echo (!empty($_REQUEST['town_id']) ? 'town_id = '.intval($_REQUEST['town_id']).';' : '') ?>
    <?php echo (!empty($_REQUEST['suburb_id']) ? 'suburb_id = '.intval($_REQUEST['suburb_id']).';' : '') ?>

    // Here we make the correspondings dropdown options selected, if needed.
    if (town_id !== false) {
        $('select[name=town_id] option[value='+  town_id +']').attr('selected', 1);
    }
    if (suburb_id !== false) {
        $('select[name=suburb_id] option[value='+  suburb_id +']').attr('selected', 1);
    }
});
</script>
试试这个:

<script>
$(document).ready(function() {
    var townId = <?= (isset($_POST['town_id'])) ? (int) $_POST['town_id'] : 0; ?>,
        suburbId = <?= (isset($_POST['suburb_id'])) ? (int) $_POST['suburb_id'] : 0; ?>;

    if (townId > 0 || suburbId > 0) {
        // make your api call here with townId and suburbId
    }
});
</script>

$(文档).ready(函数(){
var townId=,
郊区=;
如果(城镇ID>0 | |郊区>0){
//使用townId和suburbId在此处进行api调用
}
});

如果我理解正确,您只需在提交时重新加载页面后在下拉列表中保留所选值即可。在本例中,使用jQuery可以尝试以下操作:

<span id="suburb_value" value="105"> <-----------------*** ADD THIS ***
<div class="form-group col-md-6">
    Your town<span class="require">*</span>
        <select name="suburb_id" id="mds_towns">
            <option value="">Select your suburb</option>
            <option value="2">Suburb1</option>
            <option value="3">Suburb2</option>
            <option value="4">Suburb3</option>
        </select>...
<script>
$(function(){
    var town_id, suburb_id = false;

    // Here we assign values to these JS variables if they come through via PHP's $_REQUEST.
    <?php echo (!empty($_REQUEST['town_id']) ? 'town_id = '.intval($_REQUEST['town_id']).';' : '') ?>
    <?php echo (!empty($_REQUEST['suburb_id']) ? 'suburb_id = '.intval($_REQUEST['suburb_id']).';' : '') ?>

    // Here we make the correspondings dropdown options selected, if needed.
    if (town_id !== false) {
        $('select[name=town_id] option[value='+  town_id +']').attr('selected', 1);
    }
    if (suburb_id !== false) {
        $('select[name=suburb_id] option[value='+  suburb_id +']').attr('selected', 1);
    }
});
</script>

$(函数(){
var town\u id、郊区\u id=假;
//在这里,如果这些JS变量通过PHP的$\u请求传递,我们将为它们赋值。
//在这里,如果需要,我们选择相应的下拉选项。
如果(城镇标识!==假){
$('select[name=town_id]option[value='+town_id+']')。attr('selected',1);
}
如果(U id!==false){
$('select[name=郊区id]option[value='+郊区id+']')。attr('selected',1);
}
});
更优雅的方法是在通过PHP输出页面时预先选择选项,但如果不知道应用程序的结构,很难在这方面提出任何建议