2017-08-02 2 views
0

Ich versuche, verschiedene Aktionen in einem Anmeldeformular mit 2-Taste auszuführen. Der erste ist eine Schaltfläche zum Abmelden, und der zweite würde das Senden von E-Mails ausführen. Sehen Sie meinen Code unten:html Eingabe ruft falsche Aktion

-Code

<form action="xxx/default_logout.php" method="post" id="login form"> 

    <!-- Logout button --> 
    <div style="float: left; width: 20%"> 
     <input type="submit" name="Submit" id="button-setting" value="Logout"/> 
     <input type="hidden" name="option" value="com_users" /> 
     <input type="hidden" name="task" value="user.logout" /> 
     <input type="hidden" name="return" value="<?php echo $return; ?>" /> 
     <?php echo JHtml::_('form.token'); 
    </div> 

    <!-- Mail button --> 
    <div style="float: right; width: 66%"> 
     <div> 
      <form action='xxxxx/mail.php' method="post"> 
       <input type="submit" name="Submit" id="buttonR-setting" value="Mail"/> 
       <input type="hidden" name="option" value="com_users" /> 
       <?php echo JHtml::_('form.token'); ?> 
      </form> 
     </div> 
    </div> 
</form> 

Problem

Es springen immer logout.php ob ich auf logout oder mail, aber ich erwartete Abmelde würde goto logout.php während mail würde gehen mail.php.

Frage

I

(i), wie der Code zu beheben, dass ich beide logout & mail die Komponenten der Form sein wollen bemerkt wissen wollen und

(ii) Was ist der Mechanismus zwischen submit und action, wie binden sie zusammen.

Jede Hilfe wäre sehr dankbar.

aktualisieren

Bisher habe ich versuchen, es durch JavaScript auszuführen. Leider funktioniert es immer noch nicht.

<form action='xxxxx/mail.php' method="post" id="mail_form"> 
<input type="submit" onClick="myFunction()" name="Submit" id="buttonR-setting" value="Mail"/> 
</form> 
<script> 
    function myFunction(){ 
     document.getElementById('mail_form').submit() 
    } 
</script> 
+0

Warum sollten Sie für beide Schaltflächen die gleiche ID 'id =" button-setting "zuweisen? – skm

+0

für CSS-Styling –

+0

Das passiert, weil Sie ein Formular in einem anderen haben, müssen Sie damit umgehen mit js – lucianov88

Antwort

0

Ich kann nicht einen Kommentar zu Ihrer Frage hinzufügen, aber Sie müssen das Formular sagen „nichts tun, wenn ich einreichen klicken Sie auf“, so dann können sie JavaScript ausführen. So Ihre Formular-Tags benötigen diese:

onsubmit="return false;" 

Dann wird Ihr myFunction() ohne die Seite ausführen wird das Formular abschicken, auch.