带有使用onchange事件通过Javascript生成的列表的HTML表单 - 未按预期工作

时间:2016-03-01 09:51:04

标签: javascript json

我有一个包含#List1#Text1#List2的HTML表单。 #List1是通过MySQL从MySQL通过JSON生成的。 #Text1用户输入的更改。每次用户更改#List2时,都应使用来自MySQL的JSON生成#Text1,同时使用#List1中选择的值和#Text1的内容。

来自表单的数据在PHP中进一步用于通过对MySQL的查询生成包含数据的表。

我尝试使用onchange()事件来生成#List2但它不起作用 - #List2在用户输入{{1}后仍然为空尽管执行了#Text1函数。

HTML

onchange()

的JavaScript

<div class="input_frm">
  <form method="post" action="<?php print data_clean($_SERVER["PHP_SELF"]);?>">
    <table class="input_tbl">
       <tr>
          <td class="a">Select county</td>
          <td class="b"><select id="selJudet" name="Alfa" onchange="judetChg()"></select></td>
          <td class="c"><input class="button_face" type="submit" value="Submit"></td>
          </tr>
       <tr>
          <td class="a">Search zone as</td>
          <td class="b"><input type="text" id="selText" name="Beta" maxlength="35" placeholder="Wildcard string" onchange="textChg()" /></td>
          <td class="c"></td>
          </tr>
       <tr>
          <td class="a">Select zone</td>
          <td class="b"><select id="selZona" name="Gamma" onchange="zonaChg()"></select></td>
          <td class="c"></td>
          </tr>
       </table>
    </form>
  </div>

1 个答案:

答案 0 :(得分:0)

它有效!现在看起来非常自然,因为它基于事件。 (就像在Visual Studio中一样 - 只有更难调试:))。根据表单的逻辑,代码可能会被改进以便在#List1.change上激活 - 或者不激活。

我的PHP代码中有一个错误,一个$row['...']变量有一个我没注意到的错误索引,错误就在那里正是因为我从另一个脚本复制代码而不是犯错误!