Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/415.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
Php 如何调用javascript函数以及在哪个文本框事件上?_Php_Javascript_Smarty - Fatal编程技术网

Php 如何调用javascript函数以及在哪个文本框事件上?

Php 如何调用javascript函数以及在哪个文本框事件上?,php,javascript,smarty,Php,Javascript,Smarty,我在我的网站上使用Smarty和PHP。为了供您参考,我将提供smarty模板中代码的小代码片段 {literal} <script language="javascript" type="text/javascript"> function get_tests_by_question_count() { alert("Hi");} </script> {/literal} <li style="margin-top:60px;">

我在我的网站上使用Smarty和PHP。为了供您参考,我将提供smarty模板中代码的小代码片段

{literal}
<script language="javascript" type="text/javascript">
 function get_tests_by_question_count() {
alert("Hi");}
</script>
{/literal}

<li style="margin-top:60px;">
              <label>Question Count</label>
              <div class="form-element">
                <select name="question_count" id="question_count">
                  <option value=""> -- Select -- </option>
                  <option value=">" {if $duration == '>'} selected="selected" {/if}>More Than</option>
                  <option value="==" {if $duration == '=='} selected="selected" {/if}>Equal To</option>
                  <option value="<" {if $duration == '<'} selected="selected" {/if}>Less Than</option>
                </select>
                <input type="text" name="question_count_no" id="question_count_no" style="width:30px;" value="{$question_count_no}" onChange="get_tests_by_question_count(); return false;"/>
              </div>
            </li>
{literal}
函数get\u tests\u by\u question\u count(){
警惕(“嗨”);}
{/literal}
  • 问题计数 --选择-- 比...更 等于 少于

  • 在这里,当我在一个文本字段中输入一个IDquestion\u count\u no的值后,我想立即调用javascript函数。在我上面的代码中,onChange不起作用。在文本框中输入一个值后,你能给我一些技巧来调用javascript函数吗。提前感谢。

    我希望您需要使用keyup事件,而不是onChange。在keyup事件中,您可以设置一个过滤器,以便您的代码仅在输入某些数值时有效

    检查这个

    
    函数按问题计数获取测试(e){
    如果(/[0-9]/.测试(e.值)){
    警觉(e.value);
    }
    }
    

    希望它能对您有所帮助。

    看起来它应该会起作用。JS控制台中是否有错误?@Barmar:现在输入值后,我必须按enter键才能调用该函数。但我想在将值输入文本框后自动调用该函数。你能给我一些建议吗?如果你没有按enter/tab键或点击其他东西,它怎么知道你什么时候完成了?@Barmar:在文本框中输入数字后它就会知道。在那一刻,我只想调用这个函数。如何做到这一点?听起来您需要使用
    keyup
    事件而不是
    change
    ,以便查找特定字符。
    <script>
        function get_tests_by_question_count(e) {
            if(/[0-9]/.test(e.value)) {
                alert(e.value);
            }
        }
    </script>
    
    <input type="text" name="question_count_no" id="question_count_no" style="width:30px;" onkeyup="get_tests_by_question_count(this); return false;"/>