2013-04-22 57 views
1

我想提交一个form(或请求)来完成一些任务。除了submit按钮,form没有输入字段。提交没有输入字段的表单。

我知道这有点奇怪,但我想通过只使用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> 

是否有另一种方式做到这一点?非常感谢!

回答

1

相反的:

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

为什么不:

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

是但我如何验证如果用户提交表格。我试过如果($ _ GET ['submitImage'])但它不起作用。 – Rouge 2013-04-22 19:03:07

+0

将'method'属性改为'POST',然后在PHP中:'if($ _ SERVER [“REQUEST_METHOD”] ==“POST”)'。 – 2013-04-22 19:05:47

+0

谢谢!现在工作正常。 – Rouge 2013-04-22 19:10:01

0

如果用户需要激活它,让他们只需按下提交按钮。但是,如果您想自动执行此操作,则需要使用一点JavaScript。用它发送数据,你可以指定你的投入是这样的:

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

输入字段将不会出现,但该数据将像输入字段来发送。

+0

我不需要隐藏的数据。我只想提交表单而不发送任何输入字段数据。 – Rouge 2013-04-22 19:03:43

+0

那么你将需要JavaScript来完成这项工作。 – Xandervr 2013-04-22 19:35:37

0

您可以将GET参数添加到您的action网址的结尾(在你的情况,那么它会是这样的cm_ct_generate_preview.html?submitImage=1也可以在表单中添加一个隐藏的输入字段,并检查是否被提交,例如:

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

当你的形式方法已被设置为GET它应该被作为一个GET参数。