我有一个HTML <form>
并使用php创建它。它包含三个<input>
字段。
当填充第一个<input>
字段时,应自动填充第二个<script>
$(document).ready(function(){
$("input[name*='artNr1']").click(function(){
.get("artikelnamen_suchen.php", nummeruebergeben($_POST['artName1']));
});
});
<script>
字段。通过API触发HTTP请求。请求工作正常,并提出文章编号。我已经测试过了。
问题是,每当填充其他字段时,它必须运行请求并填充字段。 我用jQuery尝试过它:
map[string]interface{}
感谢任何帮助。
答案 0 :(得分:0)
我认为您忘记在$
.get()
(美元符号)
您的代码应该是这样的:
<script>
$(document).ready(function(){
$("input[name*='artNr1']").click(function(){
$.get("artikelnamen_suchen.php", nummeruebergeben($_POST['artName1']));
});
});
<script>
答案 1 :(得分:0)
jquery提供change()
方法来收听更改事件,例如在<input>
字段上。您可以用它替换click()
处理程序。
$("input[name*='artNr1']").change(function(){
$.get("artikelnamen_suchen.php", nummeruebergeben($_POST['artName1']));
});
您的代码存在的问题是,您使用PHP变量.get()
调用jquery $_POST['artName1']
。这显示了两个缺陷:
<input>
中的当前值.get()
通过GET转移。要解决第一个缺陷,您需要使用第一个<input>
中的值,而不是从PHP计算的值。
$("input[name*='artNr1']").change(function(){
var articleNumber = $(this).val();
//TODO: $.get("artikelnamen_suchen.php", nummeruebergeben($_POST['artName1']));
});
由于您当前位于第一个onChange
字段的<input>
处理程序中,因此该字段可用作该函数中的this
上下文。使用jquery .val()
,您可以访问其当前值。
要解决第二个缺陷,您可以使用两种不同的方式。使用jquery .post()
mehtod将您的数据作为POST发送给PHP:
$("input[name*='artNr1']").change(function(){
var articleNumber = $(this).val();
$.post("artikelnamen_suchen.php", {
'artName1': articleNumber
}).success(function(result){
//Work with the result here
});
});
或者将信息作为GET提供,并在PHP中将其作为$_GET
字段而不是$_POST
进行访问:
在javascript中:
$("input[name*='artNr1']").change(function(){
var articleNumber = $(this).val();
$.get("artikelnamen_suchen.php?artName1=" + articleNumber)
.success(function(result){
//Work with the result here
});
});
<小时/> 在php
$articleNumber = $_GET['artName1'];
... //Use $articleName instead of $_POST['artName1'] in your PHP code.
之后,您可以使用result
替换第二个输入中的值。但那是另一个问题...... :-D