簡體   English   中英

javascript語法錯誤,缺少“;”

[英]javascript syntax error, missing “;”

我在php中定義的表單中存在潛在錯誤的表單。 我使用JavaScript來更改表單操作,具體取決於是否存在錯誤。 我已經使用json_encode轉換了php錯誤變量$ errors,因此可以在javascript中使用它。 在Firefox中運行文件,我在Firebug中收到以下錯誤:

語法錯誤:缺少;

before語句var errors = "{"firstnameErr:......etc} ,指針位於firstnameErr中的字母f處。 看來我在json_encode對象中有錯誤。

這是JavaScript:

 <script type = "text/javascript">
    function switchFormAction() { 
    var errors = [];                               
    var errors = "<?php echo json_encode($errors); ?>";
    if(!empty(errors)) {
    alert("Please correct these errors");
    }                                        
    else    {
    var element = document.getElementById("regForm");
    element.setAttribute("action", "serraInsertForm.php");
    return true;
    }
    }
    window.onload = function() {
    document.getElementById("regForm").onsubmit = function()
    switchFormAction();
    }
</script>  

可能很簡單,但我無法解決。 Javascript和json對我來說是新的。 感謝stackoverflow可以提供的任何幫助。

var errors = "<?php echo json_encode($errors); ?>";
             ^---                                ^--

指示的引號不是必需的,實際上是引起問題的原因。 json_encode()將產生將$errors的數據轉換為語法有效的Javascript所需的任何引號/括號。 您正在制作:

var errors = "{"somekey":"somevalue"}";
             ^--start string
               ^--end string
                ^^^^^^^ undefined variable

所有你需要的是

var errors = <?php echo json_encode($errors); ?>;

應該在這里丟掉引號。

var errors = "<?php echo json_encode($errors); ?>";

應該可能是:

var errors = <?php echo json_encode($errors); ?>;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM