Symfony 1.4: So ändern Sie eine Schaltfläche zum Senden von Eingaben in einen HTML-Link

  • Scheint eine einfache Sache zu sein, aber ich habe verdammt viel Zeit damit.

    Ich bin mir sicher, dass es eine schnelle Lösung ist ... Jede Hilfe wäre dankbar.

    Hier ist der Code:

     <!-- apps/frontend/modules/job/templates/_form.php -->
    <?php use_stylesheets_for_form($form) ?>
    <?php use_javascripts_for_form($form) ?>
    
    <?php echo form_tag_for($form, '@job') ?>
      <table id="job_form">
        <tfoot>
          <tr>
            <td colspan="2">
              <input type="submit" value="Preview your job" />
            </td>
          </tr>
        </tfoot>
        <tbody>
          <?php echo $form ?>
        </tbody>
      </table>
    </form>
     

    Ja, das ist direkt aus dem JObeet-Tutorial ... hier gefunden: http://www.symfony-project.org/jobeet/1_4/Propel/de/10

    Bei allen Helfern dachte ich, dies könnte ein Symfony-Problem sein. Scheinbar nicht? Jedenfalls ist dieser Posteingabemethode keine Aktion zugeordnet, so dass ich link_to oder url_forhelper nicht verwenden kann.

    22 November 2011
    Patrick
1 answer
  • Aktualisieren Sie zunächst Ihren Funktionsaufruf form_tag_for, um einige Attribute aufzunehmen und geben Sie dem Formular eine ID:

     <?php echo form_tag_for($form, '@job', array('id' => 'the_form')) ?>
     

    Ersetzen Sie dann Ihren Submit-Button durch Folgendes:

     <a href="javascript:{}" onclick="document.getElementById('the_form').submit(); return false;">Submit</a>
     

    Wie @ domi27 vorgeschlagen - Das Symfony Weg - dh das Verwenden von Helfern ist wie folgt:

     <?php echo link_to_function('Submit', "document.getElementById('the_form').submit()") ?>
     
    04 July 2012
    ManseUKuser1356282