我已经为我的wordpress站点建立了一个联系表单。有四个字段-姓名、电子邮件、主题、消息。对于登录的用户,我希望他们的姓名和电子邮件被自动填写在他们各自的表单字段中,这些姓名,电子邮件字段将被禁用,供他们编辑。对于未登录的用户,他们将手动输入姓名、电子邮件字段。我已将此代码放入页面模板文件中-
    <?php
    $current_user = wp_get_current_user();
    $user_email = $current_user->user_email;
    $user_name = $current_user->user_firstname.' '.$current_user>user_lastname;
    if ( 0 != $current_user->ID ) {
     echo '<script type="text/javascript">
     document.getElementById("curUserName").value = "'.$user_name.'";
     document.getElementById("curUserName").disabled = "disabled";
     document.getElementById("curUserEmail").value = "'.$user_email.'";
     document.getElementById("curUserEmail").disabled = "disabled";
     </script>';
     }
     ?>但此代码将禁用两个用户(已登录和未登录)的姓名和电子邮件字段。我已经通过if条件控制了脚本。尽管如此,javascript仍然适用于这两个用户。请指出我哪里出错了。
以下是表单html -
    <form action="/success.php" method="post">
<label>Name :</label><br>
<input type="text" id="curUserName" name="sender_name" required><br>
<label>Email :</label><br>
<input type="text" id="curUserEmail" name="sender_email" required><br>
<label>Subject :</label><br>
<input type="text" name="sender_sub"><br>
<label>Message</label><br>
<textarea name="sender_msg" rows="4" cols="60" required></textarea><br>
<input type="submit" name="submit" value="Send">
</form>发布于 2018-03-23 00:09:50
不要用php回显javascript。这是一种糟糕的做法。
尝试在输入中使用值标记,检查用户是否使用三元运算符登录,如果是,回显到值标记他们的credentials。
<?php (is_user_logged_in()) ? $current_user = wp_get_current_user() : $current_user = false; ?>
<label>Name</label>
<input type="text" id="curUserName" name="sender_name" value="<?php ($current_user) ? echo $current_user->user_name : '' ?>" required>
<label>Email</label>
<input type="text" id="curUserEmail" name="sender_email" value="<?php ($current_user) ? echo $current_user->user_email : '' ?>" required>发布于 2018-03-23 00:12:30
您要更改的源已禁用选项。因此,如果用户未登录,请将其删除:)
<?php
    $current_user = wp_get_current_user();
    $user_email = $current_user->user_email;
    $user_name = $current_user->user_firstname.' '.$current_user>user_lastname;
    echo '<script type="text/javascript">';
    if ( 0 != $current_user->ID )
    {
        echo 'document.getElementById("curUserName").value = "'.$user_name.'" 
        document.getElementById("curUserName").disabled = "disabled"
        document.getElementById("curUserEmail").value = "'.$user_email.'"
        document.getElementById("curUserEmail").disabled = "disabled"';
     }
     else
     {
        echo 'document.getElementById("curUserName").disabled = false;
        document.getElementById("curUserEmail").disabled = false;';         
     }
     echo '</script>';
 ?>https://stackoverflow.com/questions/49432411
复制相似问题