2013-08-03 3 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 для добавления/изменения URL-адреса либо на клавиатуре, либо в форме submit – Sean

+1

@Sean. Как будет выглядеть javascript? – user2600095

ответ

1

Используя javascript, вы можете изменить действие формы на форму submit (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

Три вещи:

  • Добавить в id attribute в форму. Например, foo. ..
  • Добавить onsubmit attribute в форму, onsubmit="foo() "
  • Добавить id attribute к вашему 500pxuserid входу, например, bar

Он должен выглядеть следующим образом:

<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.

Смежные вопросы