【问题标题】:Wordpress form autofillWordpress 表单自动填充
【发布时间】:2011-10-22 22:23:05
【问题描述】:

我正在尝试使用 wordpress 用户详细信息自动填写表格(目前使用联系表格 7)。

这是当前代码:

<script type="text/javascript">
<?php 
    if (is_user_logged_in()){   
        global $current_user;
        get_currentuserinfo(); ?>
        document.getElementByName("your-name").value = "<?php $current_user->user_email ?>";
        <?php
    } ?>
</script>

我正在使用联系表格 7 插件,因此它是通过短代码调用的。

这段代码似乎没有发生任何事情,但我已经让它回显给我用户电子邮件,所以我不认为它是获取数据的问题。如果我必须打赌,那么用数据填写表格将是一个问题。

我已经看到一些用于联系表格 7 的自动填充插件,但我也想对其他表格(特别是重力表格)执行此操作,因此我需要一个通用的解决方案。

非常感谢任何帮助,谢谢。

【问题讨论】:

    标签: php javascript forms wordpress autofill


    【解决方案1】:

    首先确保您的联系表单具有类似&lt;input name='your-name' ...&gt; 的HTML,然后尝试将您的代码放入window.onload 事件中。您的 javascript 可能在页面完成加载所有内容(包括您的联系表单)之前运行。

    类似这样的:

    <script type="text/javascript">
    window.onload = function () {
        document.getElementsByName("your-name")[0].value = "<?php $current_user->user_email ?>";
    }
    </script>
    

    编辑:根据下面的 cmets 修复

    【讨论】:

    • 感谢您的回答,但这不起作用。我还确保联系表单 7 生成的输入字段的名称值为“您的姓名”。
    • 你用的是什么浏览器?如果是 Firefox 或 Chrome,则在其中任何一个上使用 Firebug 或内置的 Javascript 控制台,然后输入 document.getElementByName("your-name").value = "abc"; 如果这不起作用,则尝试为您的 标签设置一个 id。喜欢&lt;input type='text' name='your-name' id='your-name'/&gt;。现在做document.getElementById("your-name").value = "abc";。如果这些都不起作用,那么您将不得不发布更多页面代码以查看发生了什么。
    • 我在 chrome 上使用了控制台,但它似乎不起作用。但是,当我输入 getElementById("theId").value = "abc"; 时,它确实有效。事实上,getElementByName 甚至看起来都不是一个函数,因为我执行的唯一搜索是 getElementsByName (注意“s”),并且该函数似乎只返回值,而不是让我更改它。我想现在我的问题是如何访问表单的 name 属性?
    • Ok try document.getElementsByName("your-name")[0].value = 'abc'; 该函数返回所有找到的名称属性为'your-name'的标签的集合。
    • 是的,行得通。我想问题是我设置了一个等于某物的数组,而不是指定一个特定的项目。感谢您的帮助:)
    猜你喜欢
    • 2018-11-28
    • 2014-06-11
    • 1970-01-01
    • 1970-01-01
    • 2020-01-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-18
    相关资源
    最近更新 更多