页面不会通过邮寄提交。使用JS通过<a href=""></a>提交

时间:2014-04-04 01:53:51

标签: javascript html forms

我正在努力让我的网页提交。我不想使用<input>作为样式原因,因此我使用<a href>标记作为提交按钮,并尝试使用Javascript提交表单。

所以我有表格。注意:表单是echo通过PHP编写的。

<form method=\"post\" name=\"roomSubmit\" >
    <textarea cols=\"40\" rows=\"1\" type=\"text\" name=\"roomName\" id=\"regularInput\"></textarea>
    <a href=\"#\" onclick=\"document.forms['roomSubmit'].submit();\" class=\"button button-small\">Create</a>
</form>

因此,您可以看到表单名称为roomSubmit。我需要将textarea中的信息放入PHP $_POST变量中。

当我这样做时: 尝试使用该按钮提交后var_dump $_POST;,它不会在POST数组中显示任何内容。

任何想法都将不胜感激!

谢谢!

6 个答案:

答案 0 :(得分:1)

尝试

<input type="submit" value="Submit">

答案 1 :(得分:1)

您需要为表单执行操作。例如:

<form action='index.php'...

<form action='<?=$_SERVER['PHP_SELF']?>'...

答案 2 :(得分:1)

而不是通过Javascript提交表单。使用

<button type="submit">Create</button>
而是

元素。 (它们更容易设计样式,并且可以通过删除CSS中的边框和背景看起来像<a>标签。 您的表单还需要action=属性。

答案 3 :(得分:1)

渐进式增强有利于样式输入,因此@onsy有正确的想法。我希望你的HTML像:

<input type='submit' class='button button-small' name='sub' id='sub' value='Create' />

现在你的CSS看起来像:

.button-small#sub{
  display:inline-block; text-decoration:underline; padding:0; border:0;
}

答案 4 :(得分:0)

首先将action属性放在表单中:

<form attribute="..." method="post" etc...

第二次将onclick内容更改为: 试试这个:onclick=\"document.roomSubmit.submit(); return false;\"

答案 5 :(得分:0)

嗯..您使用的是什么PHP版本?我正在工作:

<?php
print_r($_POST);
echo"<form method=\"post\" name=\"roomSubmit\" >
    <textarea cols=\"40\" rows=\"1\" type=\"text\" name=\"roomName\" id=\"regularInput\"></textarea>
    <a href=\"#\" onclick=\"document.forms['roomSubmit'].submit();\" class=\"button button-small\">Create</a>
</form>";
?>