2016-02-20 84 views
0

我有一個wordpress站點中的聯繫表單,當用戶填寫表單項時無法顯示給用戶。它是英文的,我想用西班牙文中的文字替換它。我不知道在哪裏替換這個文本的文件會這樣使用Jquery似乎是最簡單的東西。 這裏是警告消息:用jquery替換Div的元素

<div class="et-pb-contact-message"> 
     <p>Please, fill in the following fields:</p> 
     <ul> 
     <li>Nombre</li> 
     <li>Email Address</li> 
     <li>Mensaje</li> 
     <li>Captcha</li> 
     </ul> 

這就是我想,但不知它不工作:

<script> 
    jQuery(document).ready(function($) { 
    var div_data = "<p>Favor de llenar correctamente los campos:</p> 
    <ul> 
     <li>Nombre</li> 
     <li>Email </li> 
     <li>Mensaje</li> 
     <li>Seguridad</li> 
    </ul>"; 
    $(".et-pb-contact-message").html(div_data); 
    }); 
    </script> 

我在做什麼錯?

+0

您是否在西班牙語網站上留下剩餘內容? –

+0

@GokulShinde不,它不是。這裏是鏈接:http://www.elementgym.com.mx/contacto/(嗯...內容是西班牙語) – Agustin

+0

那麼爲什麼只有成功的消息,你想用西班牙語?其實你可以用PHP來做到這一點。 –

回答

2

div_data換行符搞砸了你的字符串。您可以用反引號(鍵盤上的1鍵之前的鍵)替換雙引號。這是ECMAScript 6(ES6)中稱爲模板文字的新功能。每行

var div_data = "<p>Favor de llenar correctamente los campos:</p>"+ 
    "<ul>"+ 
     "<li>Nombre</li>"+ 
     "<li>Email </li>"+ 
     "<li>Mensaje</li>"+ 
     "<li>Seguridad</li>"+ 
    "</ul>"; 
1

在javascript中

var div_data = `<p>Favor de llenar correctamente los campos:</p> 
    <ul> 
     <li>Nombre</li> 
     <li>Email </li> 
     <li>Mensaje</li> 
     <li>Seguridad</li> 
    </ul>`; 

或更常見CONCAT字符串,斷行標誌着語句的結束,所以當它移動到下一個你多行字符串導致錯誤並看到<,這對解析器來說是一個意想不到的字符。嘗試將所有字符串全部放在一行上,並且應該糾正錯誤。

<script> 
    jQuery(document).ready(function($) { 
    var div_data = "<p>Favor de llenar correctamente los campos:</p><ul><li>Nombre</li><li>Email </li><li>Mensaje</li><li>Seguridad</li></ul>"; 
    $(".et-pb-contact-message").html(div_data); 
    }); 
</script> 

可替換地,在ECMAScript中6中,反引號字符(')可被用於表示一個多行字符串或「模板文字」,因爲它們是指它的文件中。

+0

這兩個答案(@Eric Guan和@ShamSUP)都處理了原來的問題,但是現在又產生了另一個答案,即不管填寫表單時的用戶錯誤如何顯示消息。 ??? – Agustin

+0

@Agustin此代碼將替換元素中的任何html代碼。所以如果你在'.et-pb-contact-message'中輸入錯誤,那麼它將被這個函數取代。 – shamsup