2013-08-03 81 views
2

我有以下形式。我想要更改表单动作以在此表单中包含变量500pxuserid。有没有办法做到这一点?对于用户体验,我想阻止重新指导。目前,我在另一端获得变量,然后为它们重新路由一个新的url,但这需要重新指定。邮政表单行动到变量内部形式

 <form action="importphotos.php?view=500&mode=upload&page=1&u=&u2=&500pxuserid=" method="post"> 

    <div style="width:100%;height:45px;background-color:rgb(2,173,234);"> 
    <img style="width:30px;padding:10px;float:left;" src="https://photorankr.com/graphics/import_500pxicon.png" /> 
    <h3 style="font-weight:300;font-size:20px;text-align:left;padding-left:40px;margin-top:8px;color:white;float:left;">Login to 500px</h3> 

    </div> 

     <div style="width:90%;height:150px;border-bottom:1px solid rgba(255,255,255);float:left;margin-top:-5px;"> 


    <input style="outline:none;padding:8px;border-radius:3px;font-size:18px;width:263px;float:left;border:1px rgb(100,100,100);border-style:solid; margin:8px; margin-left:16px;" placeholder = "Enter your 500px id" type="text" name="500pxuserid" /> 
    <input type="password" style="outline:none;padding:8px;border-radius:3px;font-size:18px;width:263px;float:left;border:1px rgb(100,100,100);border-style:solid; margin:8px; margin-left:16px;" placeholder = "Enter your 500px password" type="text" name="500pxuserpassword" /> 

    <input class = "submitbox" type="submit"> 

    </div> 




    </form> 
    </div> 
+0

为什么不简单地使用'method =“get”'? – AlliterativeAlice

+0

你可以从'post'改变为'get',或者你可以使用javascript在keyup或表单上添加/更改url – Sean

+1

@Sean JavaScript的样子是什么? – user2600095

回答

1

使用javascript,你可以在表单提交(onsubmit)上更改表单动作。

<script type="text/javascript"> 
function get_action(form) { 
    var user = document.getElementById('userid').value; 
    form.action = "importphotos.php?view=500&mode=upload&page=1&u=&u2=&500pxuserid=" + user; 
} 
</script> 

<form action="" method="post" onsubmit="get_action(this);"> 
    ... 
    // add id=""userid" to input 
    <input ... type="text" name="500pxuserid" id="userid" /> 
</form> 
+0

这实际上不起作用。它重定向到importphotos.php?view = 500我还应该改变什么? – user2600095

+0

我编辑了我的答案。我最初做了'action =“importphotos.php?view = 500 ...”',用'...'截断,而不是复制/粘贴整个url。我已经改变了它,所以试试现在发布的内容。 – Sean

+0

我试过了,结果相同。有任何想法吗? – user2600095

0

三件事:

它应该是这样的:

<form id="foo" onsubmit="foo();" ... 

和你输入:

<input id="bar" ... 

而在JavaScript中添加以下功能:

function foo() 
{ 
    var form = document.getElementById('foo'), 
     bar = document.getElementById('bar'); 
    form.action = 'importphotos.php?view=500&mode=upload&page=1&u=&u2=&500pxuserid=' + bar.value; 
} 

另外,请记住,如果用户的浏览器中启用JavaScript这只会工作。