2013-04-22 3 views
1

Я пытаюсь отправить form (или запрос) для выполнения некоторых задач. form не имеет поля ввода, кроме кнопки submit.Отправить форму без поля ввода.

Я знаю, что это странно, но я хочу отправить форму и получить данные, используя только php.

Возможно ли это?

Мои коды

if($_GET['submitImage']){ 

    //do the stff I want...... 

} 

<form id='formSubmitImage' name='submitImage' method='get' action='cm_ct_generate_preview.html'> 
<?php 
     echo "<table>"; 
      echo "<th>ID</th>"; 
      echo "<th>Type</th>"; 
      echo "<th>Name</th>"; 
      echo "<th>Image</th>"; 
      foreach($tests as $test){ 
       echo '<tr>'; 
        echo '<td>'; 
        echo $test['ID']; 
        echo '</td>'; 

        echo '<td>'; 
        echo $test['Type']; 
        echo '</td>'; 

        echo '<td>'; 
        echo $test['Name']; 
        echo '</td>'; 

        echo '<td>'; 
        echo $test['FileName']; 
        echo '</td>'; 
       echo '</tr>'; 
      } 
      echo "</table>"; 
      echo "<input type='submit' value='Set Images'></input><br>"; 
?> 
</form> 

Есть ли альтернативный способ сделать это? Большое спасибо!

+0

ИМХО, это плохо пахнет. Вы должны использовать тег делать команды действия в вашем приложении и формы. –

ответ

1

Вместо:

echo "<input type='submit' value='Set Images'></input><br>"; 

Почему не:

echo "<button type='submit'>Set Images</button><br>"; 
+0

да но как я могу проверить y, если пользователь отправит форму. Я попытался, если ($ _ GET ['submitImage']), но он не работает. – Rouge

+0

измените атрибут 'method' на' POST', а затем в PHP: 'if ($ _ SERVER [" REQUEST_METHOD "] ==" POST ")'. –

+0

спасибо! теперь работает отлично. – Rouge

0

Если пользователь должен активировать его, пусть они просто нажать кнопку отправки. Однако, если вы хотите сделать это автоматически, вам нужно будет использовать небольшой javascript. Для того, чтобы отправить данные с ним, вы можете просто указать свои входы, как это:

echo '<input type="hidden" name="id" value="'.$test['ID'].'">'; 

входные поля не будут появляться, но данные будут отправлены, как с полем ввода.

+0

Мне не нужны скрытые данные. Я просто хочу иметь возможность отправить форму без отправки каких-либо данных ввода. – Rouge

+0

, тогда вам понадобится javascript, чтобы выполнить эту работу. – Xandervr

0

Вы можете добавить параметр GET к концу вашего action URL (в вашем случае это будет потом что-то вроде cm_ct_generate_preview.html?submitImage=1 или вы можете добавить скрытое поле ввода в форме и убедитесь, что представлено, например:

<input type="hidden" name="submitImage" value="1" /> 

как ваш метод формы уже установлен в GET оно должно быть послано в качестве параметра GET.

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