Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/284.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 在表单中更改字段1时更改字段2_Javascript_Php_Jquery_Forms - Fatal编程技术网

Javascript 在表单中更改字段1时更改字段2

Javascript 在表单中更改字段1时更改字段2,javascript,php,jquery,forms,Javascript,Php,Jquery,Forms,我有一张表格,它要求字段1有一个序列号。然后在第二个字段中,它将询问模型。但是我可以找到序列号的型号。这是序列号的3号和4号。因此,我不想问型号,而是想在没有用户干预的情况下直接输入型号 我希望字段2在字段1更新后直接更改,而不是在表单发布后更改 那么首先,是否只有使用php才有可能?我对jQuery、Ajax和JS的了解非常有限 我现在是这样做的: <div class="col-xs-6"> <div class="form-grou

我有一张表格,它要求字段1有一个序列号。然后在第二个字段中,它将询问模型。但是我可以找到序列号的型号。这是序列号的3号和4号。因此,我不想问型号,而是想在没有用户干预的情况下直接输入型号

我希望字段2在字段1更新后直接更改,而不是在表单发布后更改

那么首先,是否只有使用php才有可能?我对jQuery、Ajax和JS的了解非常有限

我现在是这样做的:

        <div class="col-xs-6">
            <div class="form-group">
            <label for="no_serie_produit" class="label col-xs-3">N° Série Produit</label>
                <div class="col-xs-10">
                    <input type="text"  name="no_serie_produit" id="no_serie_produit" placeholder="N° Série de ... (Obligatoire) ">
                </div>
            </div>
            <div class="form-group">
                <label for="model_produit" class="label col-xs-3">Modele Produit</label>
                    <div class="col-xs-10">
                        <input type="text"  name="model_produit" id="model_produit" placeholder="Modèle ... (Obligatoire)">
                    </div>
            </div>
        </div>

N°Série产品
Modele Produit
第二:如果我真的需要使用JS或jQuery之类的东西,你能给我推荐一个最容易学的吗

编辑

例如:

如果我输入序列号n°:14020001,我想在字段2中输入:TMSA4-NET LV

侦听
\no\u serie\u produit
上的事件,然后相应地设置
\model\u produit
的值:

$('#no_serie_produit').on('input', function() {
    // don't do anything before 4 digits are inputted
    if (this.value.length < 4) return;

    // .slice()'s start is inclusive, end is exclusive
    var modelId = this.value.slice(3, 5);

    // do the Ajax call with $.ajax or the shorthand $.post/$.get methods
    $.get('path/to/getModelName.php', { modelId: modelId }, function(modelName) {
        // received the model name in the Ajax response, update the field
        $('#model_produit').val(modelName);
    });
});
$('no#serie_produit')。在('input',function()上{
//在输入4位数字之前不要做任何事情
如果(this.value.length<4)返回;
//.slice()的开始是包含的,结束是独占的
var modelId=this.value.slice(3,5);
//使用$.Ajax或速记$.post/$.get方法进行Ajax调用
$.get('path/to/getModelName.php',{modelId:modelId},函数(modelName){
//在Ajax响应中收到模型名称,请更新该字段
$('#model_produit').val(modelName);
});
});
这将向
path/to/getModelName.php
(相应地更新路径/文件名)发送一个Ajax请求,在此php文件中,您将能够通过
$\u GET['modelId']
访问模型ID。然后,您可以使用它查询数据库并
echo
名称。回显值将作为Ajax调用的响应返回,即
$。在本例中,get
的回调函数的
modelName
参数

一些阅读参考:


从技术上讲,仅使用PHP是可行的,但这需要提交表单,而您可能不希望提交表单。是的,我忘了精确说明这一点。我希望在“live”中进行更改:d在“实时”中更改它的唯一方法是使用客户端脚本语言(如JavaScript),但我建议学习JQuery库。我想我需要用您的解决方案安装和配置Ajax/JQuery?哦,等等,我可能误解了您的问题。让我看看,您需要通过Ajax发送第3位和第4位数字来检索产品名称?是的,序列号的3号和4号表示全名型号。Ex:Serial n°:14020001,其中“02”表示型号:TMSA4-NET LV。@Booba_uu2012我已经更新了代码,并添加了一些关于服务器端实现的解释
=]
好的thx mate,我从来没有使用过Ajax,但我会尝试使用您的代码^^