2013-02-21 62 views
0

可以在提交之前将输入值插入表单中的其他位置吗?提交用户输入值并将其插入表单中的其他位置?

<form action="<?php echo get_option('home'); ?>/wp-login.php" method="post" id="login-form"> 
    <p>Please login.</p> 
     <input type="text" placeholder="Username" name="log" id="log" value="<?php echo wp_specialchars(stripslashes($user_login), 1) ?>" /> 
     <input type="password" placeholder="Password" name="pwd" id="pwd" /> 
    <p> 
     <input name="rememberme" id="rememberme" type="checkbox" checked="checked" value="forever" /> Remember me 
    </p> 
    <input type="hidden" name="redirect_to" value="<?php echo $_SERVER['REQUEST_URI']; ?>/<?php echo $_POST['log']; ?>" /> 
    <p> 
     <a href="<?php echo get_option('home'); ?>/wp-login.php?action=lostpassword">Recover password</a> 
    </p>         
    <input type="submit" name="submit" value="LOGIN" class="login-button" />         
</form> 

我想利用用户进入该输入值:

<input type="text" placeholder="Username" name="log" id="log" value="<?php echo wp_specialchars(stripslashes($user_login), 1) ?>" /> 

并把价值这个:

<input type="hidden" name="redirect_to" value="<?php echo $_SERVER['REQUEST_URI']; ?>/<?php echo $_POST['log']; ?>" /> 

我已经给了它一个去放入S_POST['log']但这不起作用。

任何人都可以帮忙吗?

回答

1

您可以尝试JQuery在提交之前分配值。

// 1. Change the type='submit' to type='button' 
// 2. Give new submit button an id, DO NOT USE 'submit' 

$(document).ready(function() { 
    $('input#submits').click(function(event) { 

     $('input[name="redirect_to"]').val($('input[id="log"]').val()); 
     if($('input[name="redirect_to"]').val() != '') 
      $('form#login-form').submit(); 

    }); 
}); 
+0

我刚刚给这个一展身手,但它似乎并没有做任何事情。 – Rob 2013-02-21 14:50:02

+0

嗨,罗布,我放在前面的代码只是一个想法,它是如何工作的,现在我更新代码,现在就可以试用了。祝你好运:) – what 2013-02-21 17:45:24

0

如果你使用jQuery,你可以设置这样的监听器:

$("#log").bind('input', function() { 
    $("IDofHiddenField").val("www.domain.com" + $("#log").val()); 
    } 
+0

谢谢。是否有可能在输入值之前将一部分链接放入jquery中?即“www.domain.com”(然后是jquery部分)? – Rob 2013-02-21 15:20:43

+0

jquery的val设置或返回一个字符串,所以你可以字符串concat你传递类似的东西: $(“IDofHiddenField”)。val(“www.domain.com/”+ $(“#log”) .VAL()); – AndyJW 2013-02-21 17:56:36