【问题标题】:Attach Javascript textContent to WP Contact Form 7 before submit提交前将 Javascript textContent 附加到 WP Contact Form 7
【发布时间】:2018-03-02 12:38:33
【问题描述】:

我们开发了听力测试,我必须将其结果附加到 WordPress 联系表 7。

你可以在这里看到测试http://in-dem-ohr.de/hoertest/test/

我尝试通过 ID 调用表单,创建新的 Textarea 并将 textContent 附加到其中。但它不起作用。

谁能帮我找到解决办法?

将测试结果写入 HTML 页面中的 Textarea 的 Javascript 代码的和平

lblTon.textContent = "Schritt: " + ton + "/15 Auswertung"
hoerAusWertung.textContent = "Auswertung" + "\r\n"
hoerAusWertung.textContent = hoerAusWertung.textContent + "############################" + "\r\n"
hoerAusWertung.textContent = hoerAusWertung.textContent + "Links 0250Hz 
Lautstärke:" + (vol1l * 100).toFixed(1) + "%\r\n"
hoerAusWertung.textContent = hoerAusWertung.textContent + "Links 0500Hz 
Lautstärke:" + (vol2l * 100).toFixed(1) + "%\r\n"
hoerAusWertung.textContent = hoerAusWertung.textContent + "Links 1000Hz 
Lautstärke:" + (vol3l * 100).toFixed(1) + "%\r\n"
hoerAusWertung.textContent = hoerAusWertung.textContent + "Links 2000Hz 
Lautstärke:" + (vol4l * 100).toFixed(1) + "%\r\n"
hoerAusWertung.textContent = hoerAusWertung.textContent + "Links 3000Hz 
Lautstärke:" + (vol5l * 100).toFixed(1) + "%\r\n"
hoerAusWertung.textContent = hoerAusWertung.textContent + "Links 4000Hz 
Lautstärke:" + (vol6l * 100).toFixed(1) + "%\r\n"
hoerAusWertung.textContent = hoerAusWertung.textContent + "Links 6000Hz 
Lautstärke:" + (vol7l * 100).toFixed(1) + "%\r\n"
hoerAusWertung.textContent = hoerAusWertung.textContent + 
"############################" + "\r\n"
hoerAusWertung.textContent = hoerAusWertung.textContent + "Rechts 
0250Hz Lautstärke:" + (vol1r * 100).toFixed(1) + "%\r\n"
hoerAusWertung.textContent = hoerAusWertung.textContent + "Rechts 
0500Hz Lautstärke:" + (vol2r * 100).toFixed(1) + "%\r\n"
hoerAusWertung.textContent = hoerAusWertung.textContent + "Rechts 1000Hz Lautstärke:" + (vol3r * 100).toFixed(1) + "%\r\n"
hoerAusWertung.textContent = hoerAusWertung.textContent + "Rechts 2000Hz Lautstärke:" + (vol4r * 100).toFixed(1) + "%\r\n"
hoerAusWertung.textContent = hoerAusWertung.textContent + "Rechts 3000Hz Lautstärke:" + (vol5r * 100).toFixed(1) + "%\r\n"
hoerAusWertung.textContent = hoerAusWertung.textContent + "Rechts 4000Hz Lautstärke:" + (vol6r * 100).toFixed(1) + "%\r\n"
hoerAusWertung.textContent = hoerAusWertung.textContent + "Rechts 6000Hz Lautstärke:" + (vol7r * 100).toFixed(1) + "%\r\n"

Contact Form 7 关于如何在表单中添加 Javascript 的说明: https://contactform7.com/dom-events/

我将此添加到表单字段中:

document.addEventListener('wpcf7submit',函数(事件){ //代码在这里

},假);

并用appendChild函数写了一段代码:

'wpcf7submit',函数(事件){ var ausw1 = document.getElementById("hoerAusWertung").textContent; document.createElement("textarea").appendChild(ausw1); },假);

我仍然无法附加测试结果。我无法从 textarea 中移动 textContent,可能是因为它是由 JavaScript 编写的,我应该将其转换为某种文本文件或对象。但是我不知道怎么做,所以如果有人可以帮助我吗?

【问题讨论】:

    标签: javascript wordpress forms email attachment


    【解决方案1】:

    联系表单 7 发送所有输入字段(如果它们被包装到表单中)。 我通常用 jquery 来做,只是追加到表单中。

    另一件事是通过电子邮件发送那些新添加的字段。您可以在电子邮件模板中定义这些字段或添加自定义函数以列出所有关注特定输入字段的字段。例如,您可以将函数添加到functions.php

    function add_extra_details($mail_params, $form = null) {
    
    $fields = $_POST;
    $add_status = false;
    
    foreach ($fields as $k => $v) {
        if ($add_status == true) {
            $mail_params['body'] .= '<br />'.$k.': '.$v;
        }
        if ($k == 'extra-fields') {
            $add_status = true;
        }
    }
    $mail_params['body'] .= '<br />IP: '.$_SERVER['REMOTE_ADDR'];
    
    return $mail_params;
    

    } add_filter('wpcf7_mail_components', 'add_extra_details', 50, 2);

    如果联系表单包含字段extra-fields该字段之后的所有字段将被动态添加

    【讨论】:

    • 非常感谢您的回复。
    猜你喜欢
    • 2018-06-25
    • 2016-10-14
    • 1970-01-01
    • 2020-01-03
    • 1970-01-01
    • 1970-01-01
    • 2019-04-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多