Отправить форму при загрузке страницы - распорки 2 - PullRequest
0 голосов
/ 18 января 2012

Я хочу отправить форму s: при загрузке страницы. вот мой код:

<s:form id="login_form" action="" method="post">
<s:textfield label="User name" id="login_form_username"
            name="username" value="abc.xyz" cssClass="txtbox"
            required="true" />
        <s:password label="Password" id="login_form_password" name="password"
            value="pass" cssClass="txtbox" required="true" />
        <s:submit value="Login" />
    </s:form>

На самом деле, как показано в коде выше, я буду динамически устанавливать uname и pwd, а затем хочу отправить эту форму напрямую, используя javascript.

Я пробовал это:

<script type="text/javascript"> 
      document.forms.login_form.submit();
</script>

, но безуспешно.

Пожалуйста, помогите ... Спасибо ..

Ответы [ 4 ]

1 голос
/ 22 марта 2013

Вы можете использовать код Jquery:

document.ready(function(){
  $("#login_form").submit();
});

Не забудьте указать атрибут действия формы.

Примечание: для использования jquery необходимо добавить библиотеку jquery.

0 голосов
/ 19 января 2012
<s:form id="login_form" action="" method="post">

Как видите, действие, на которое будет отправлена ​​форма, отсутствует. Как вышеуказанный javascript будет знать, на какое действие отправить эту форму. Попробуйте ввести название действия.

0 голосов
/ 02 февраля 2013

Если вы хотите отправить с помощью сценария Java, значит, вы должны дать такой код, например:

Если ваше имя от * login_form * в java-скрипте, вы можете дать вот так

function submitform()
{
    document.forms["login_form"].submit();
}


<s:form id="login_form" name="login_form" action="your action name" method="post">
<s:textfield label="User name" id="login_form_username"
            name="username" value="abc.xyz" cssClass="txtbox"
            required="true" />
        <s:password label="Password" id="login_form_password" name="password"
            value="pass" cssClass="txtbox" required="true" />
        <s:submit value="Login" onClick="submitform()"/>
</s:form>

Здесь следует запомнить 2 важных момента:

1) без имени действия это не будет работать, потому что для перехода к struts.xml вам нужно имя действия прямо в вашем коде я не видел имя действия.

2) Во-вторых, в своем коде вы написали код java-скрипта, но вы не вызвал это имя функции либо через кнопку отправки, ни через функция загрузки тела. Я буду предполагать, как для публикации цели вы сделали это кодирование K, это не проблема.

то, что мне показали выше, код, это один из способов. Другой способ - без кнопки отправки, ваш код должен работать, значит, вы можете напечатать это на странице jsp

<META HTTP-EQUIV="Refresh" CONTENT="1;URL=youractionname.action">

вы должны написать этот код перед body, только тогда ваша страница jsp будет работать так, как вы хотите.

Здесь я использовал оба кода имя действия (имя_реакции) означает, что без имени действия на странице struts2 не перейдет в класс действия

Итог: имя действия важно в распорках2

0 голосов
/ 19 января 2012

document.forms.login_form.submit () выдает неопределенную ошибку. Вместо того, что вы можете использовать document.forms [0] .submit ()

Вы можете использовать атрибут onload для загрузки страниц. Работает

<script type="text/javascript"> 
    function submit(){
      document.forms[0].submit();
    }
</script>

  <body onload="submit()">
  <s:form id="login_form" action="" method="post">
       <s:textfield label="User name" id="login_form_username"
            name="username" value="abc.xyz" cssClass="txtbox"
            required="true" />
        <s:password label="Password" id="login_form_password" name="password"
            value="pass" cssClass="txtbox" required="true" />
        <s:submit value="Login" />
    </s:form>

 </body>
...