javascript - jQuery 更改表单的响应文本

标签 javascript php jquery html wordpress

首先网站是http://emiralmedia.com/site/tennishero ,它仅用于在单独的域上启动网站之前测试该网站。

您好,我想通过 stackoverflow 帮助更改 CRM 联系表单的响应错误,我设法将其集成到 wordpress 中。该表单与 javascript 链接,以将从 wordpress 站点表单发送的消息与另一个平台集成。 (客户关系管理)。 现在我有了联系表的代码:

<div class="main-content">
  <div class="form-mini-container">
    <form FormHash="29074-1vmo1w4eti26ekzhtj8e" action="https://r3.minicrm.ro/Api/Signup" method="post" class="form-mini">
      <div class='form-row'>
        <input name="Contact[1181][LastName]" id="Contact_LastName_1181" language="RO" type="text" placeholder="Name and surname" />
      </div>

      <div class='form-row'>
        <input name="Contact[1181][Phone]" id="Contact_Phone_1181" language="RO" type="text" placeholder="Phone" />
      </div>

      <div class='form-row'>

        <input name="Contact[1181][Email]" id="Contact_Email_1181" language="RO" type="text" placeholder="Email" />
      </div>





      <div id="Response_29074-1vmo1w4eti26ekzhtj8e" style="display: none;" class="Response raspuns"></div>
      <input id="Submit_29074-1vmo1w4eti26ekzhtj8e form-row form-last-row" type="Submit" value="LET´S GET IN TOUCH" class="button2">
    </form>
  </div>
</div>

当我想发送带有联系表的消息时,我忘记添加“姓名”、“电话”或“电子邮件”,它会向我发送其他语言的 ResponseError,例如:

<span class="ResponseError" style="transition: none; line-height: 0px; border-width: 0px; margin: 0px; padding: 0px; letter-spacing: 0px; font-weight: 400; font-size: 14px;">Name and surname este obligatoriu</span>

我想用我的自定义消息更改消息....而不是 CRM 中的默认消息。当您尝试发送消息时,会出现跨度。我猜是从javascript开始的。 https://r3.minicrm.ro/api/minicrm.js?t=1470730609

我试过制作这个脚本,但是什么也没做。

if (window.location.pathname == '/site/tennishero/') {
  jQuery('.Response span').each(function() {
    if (jQuery(this).text() == 'Name and surname este obligatoriu') jQuery(this).text('Name si required');
  });
}
if (window.location.pathname == '/site/tennishero/') {
  jQuery('.Response span').each(function() {
    if (jQuery(this).text() == 'Telefon este obligatoriu') jQuery(this).text('Phone is required');
  });
}
if (window.location.pathname == '/site/tennishero/') {
  jQuery('.Response span').each(function() {
    if (jQuery(this).text() == 'Email este obligatoriu') jQuery(this).text('Email is required');
  });
}

有什么想法吗?谢谢。

最佳答案

英文版(下方为罗马尼亚文版)

通常,如果你想改变一个元素的文本/html,那么你应该使用innerHTML (js) 或html() (jquery)。在您的情况下,当您运行该代码时,该元素不在页面上(它不存在),它会在一段时间后出现,具体取决于用户,因此您的脚本不会改变任何内容。您的 CRM 脚本似乎是从外部源加载的,因此您似乎无法在提交按钮上使用 onclick 或编辑通过 ajax 收到的消息。因此,您可以使更改错误消息的脚本以一定时间间隔(在本例中为 10 毫秒,以立即更改文本)运行。

罗马尼亚文版

由于您来自罗马尼亚,我们在那里有一个专门的团队,所以有上面文本的翻译:

在 mod normal 中,可以修改页面上的连续 un​​ui 元素,在 JavaScript 中使用 innerHTML 并在 JQuery 中使用 html()。在 cazul de fata, elementul pe care vreti sa il modificati nu apare odata cu toata pagina, ci atunci cand utilizatorul apasa pe un buton si greseste ceva in formular, deci daca veti rula cand se incarca site-ul ceva gen $( ".eroare").html("eroare");, elementul respectiva nu se va "schimba", fiindca el inca nu exista. Din pacate nu puteti nici simula ceva in genul onclick, pentru cazul in care vizitatorul apasa butonul de trimitere, nici nu puteti modifica direct codul CRM si mesajul primit prin ajax, fiindca, din cate am observat, scriptul pentru formular este unul extern, care comunica cu serverul (nu am studiat in amanunt). Asadar, o metoda pe care o puteti folosi este aceea de a programa codul care modifica textul sa se repete la an anumit interval de timp, iar daca gaste acel element cu clasa ResponseError (din cate am vazut), sa ii schimbe continutul。 Acesta ar trebui sa ruleze foarte des,pentru ca utilizatorului sa nu ii apara mai intai textul original iar apoi sa i se schimbe。在 ResponseError 连续修改,数据在 10 千秒后,我将继续修改元素。 A fost testat pe pagina dvs web.

脚本

setInterval(function() {
    var response_errors = document.querySelectorAll('.ResponseError');
    Array.prototype.forEach.call(response_errors, function(elements, index) {
        document.getElementsByClassName("ResponseError")[index].innerHTML="AICI E TEXTUL ERORII";
    });
}, 10);

如果您有任何相关问题,请发表评论。

关于javascript - jQuery 更改表单的响应文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38915291/

相关文章:

javascript - Vue 组件作为另一个组件的子组件

javascript - 显示特定类 Javascript(Jquery) 的元素

php - 如何在 Lumen 8.0 中使用 Helper 类?

javascript - 如果文档高度高于视口(viewport),则执行 X

javascript - 使用 redux connect 函数会丢失 IDE 中的类信息 (PhpStorm/WebStorm)

javascript - Highchart 错误未捕获 SyntaxError : Unexpected number

www.example.com/folder/file?id=2 类型 URL 的 PHP $_GET 问题

php/mysql 返回表中的所有数据或根本不返回任何数据

c# - 使用 jQuery 选项卡时无效的 ViewState

javascript - 如何知道何时使用 $variableName 还是仅使用variableName?