我正在构建一个表单,该表单需要以php-file
作为源代码进行自动填充。
过滤是通过strassenliste.php
完成的,每个keydown
都会新建php-call
?term=123
并附加到网址(这对我来说仍然足够快) )。
最后一个问题是让事情发挥作用:
我有两个输入字段(第一个是#plz
,第二个是#strasse
),其中plz
表示德语“zip
”和strasse“street
” 。 #strasse
是要自动填充的字段(通过?term=...
)。
当用户离开第一个输入字段,即#plz
(onblur
)时,此输入(zipcode
)应存储在JavaScript变量中并附加到URL {{1在例如jQuery自动完成代码中 - >来源:'strassenliste.php
'。
strassenliste.php?plz=12345&
的输入也将被附加,已经有效:#strasse
。
我仍然无法正常工作的是,参数?term=[input]
(后跟zip
)会附加到网址&
。
因此,自动填充代码中的来源应为网址 - > strassenliste.php
。
这是我已经拥有的代码:
JavaScript的部分:
strassenliste.php?plz=12345&[term=...]
PHP-部分:
<script>
$("#plz").blur(function () {
var plz = $(this).val();
}).keyup();
var url = "strassenliste.php" + "?=&" + plz;
$(function() {
$( "#strasse" ).autocomplete({
source: url
});
...
</script>
PHP不是问题,这有效。我通过给变量$plz = $_GET['plz'];
$term = $_GET['term'];
[SOAP-Call and response]
...
foreach ($sxe->searchresults as $searchresults) {
$array[] = utf8_encode($searchresults->strasse);
sort ($array);
$strassen = "[";
foreach ($array as $key => $val) {
$strassen .= utf8_decode("\"" . ($val) . "\",");
}
$strassen .= "\"\"";
$length = strlen($strassen);
$strassen = substr($strassen, 0, $length - 3);
$strassen .= "]";
echo ($strassen);
提供修复值并在jQuery-part中将源设置为$plz
来测试它。
但我仍然遇到jQuery-Part的问题,这是让它运行的最后一个障碍。
第二个问题是自动填充strassenliste.php
中的问号可能不会显示,因为它已经附加在“[term =]
”前面。
有没有人有线索?
非常感谢您的提示!
答案 0 :(得分:1)
问题是,您的行var url = "strassenliste.php" + "?=&" + plz;
无法看到变量plz
,因为它属于blur
函数的范围。
您还在URL中奇怪地格式化GET变量。正常的方式是myURl.php?var1=Helmut&var2=Thielicke
。
试试这个:
$(function() {
$("#plz").blur(function () {
var plz = $(this).val(),
url = "strassenliste.php" + "?plz=" + plz;
$("#strasse").autocomplete({
source: url
});
}).keyup();
)};