用于在其他页面上提交表单的超链接

时间:2011-07-19 17:11:48

标签: html forms post hyperlink

链接可以发布数据到不同页面上的表单吗?

我想象这样的东西,但这只会在新窗口中打开请求的页面(这很好),但是该页面上的表单未填充且未提交。

<?php echo '
<form action="http://www.someweb.cz/info2/dochazka/dochazka.php" method="post">
    <input name="obdobi" type="hidden" value="'.$obdobi[Obdobi].'" />
    <input name="kurs" type="hidden" value="'.$kurz_vybrany.'" />
    <a target="_blank" style="text-decoration:none;" 
        href="http://www.someweb.cz/info2/dochazka/dochazka.php?doc=start.htm" 
        onclick="this.form.submit();">'.$pocet_lidi.'</a>
</form>'; ?>

我可以略微修改“动作”页面代码,但我想保留POST方法。

3 个答案:

答案 0 :(得分:1)

通过cURL很容易实现。请参阅manual page上的示例#2:

$ch = curl_init();

$data = array('obdobi' => $obdobi[Obdobi],
    'kurs' => $kurz_vybrany);

curl_setopt($ch, CURLOPT_URL, 'http://www.someweb.cz/info2/dochazka/dochazka.php');
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);

curl_exec($ch);

答案 1 :(得分:1)

您可以稍微更改您的javascript,因为this的使用实际上是指锚本身而不是窗口,表单等(因此调用this.form实际上并未捕获表格,它给出了一个未定义的错误。)

<form action="http://www.google.com" method="GET">
    <input type="text" name="q" />
    <a href="http://www.stackoverflow.com" target="_blank" onClick="this.parentNode.submit();">Submit</a>
</form>

请注意此后的parentNode参考。注意this demo

答案 2 :(得分:0)

我无法得到任何建议的工作。因为这只是截止日期结束的大项目的一部分我决定通过删除表单,更新锚点来解决这个问题

<a target="_blank" style="text-decoration:none;" 
    href="http://www.someweb.cz/info2/dochazka/dochazka.php
    ?doc=start.htm&obdobi='.$obdobi[Obdobi].'&kurs='.$kurz_vybrany.'">'.$pocet_lidi.'</a>

并添加

<?php
    if (isset($_GET[kurs])) $kurs = $_GET[kurs];
    if (isset($_GET[obdobi])) $obdobi = $_GET[obdobi];
?>

到dochazka.php