Instead of a submit button I have a link:
<form>
<a href="#"> submit </a>
</form>
Can I make it submit the form when it is clicked?
This question is related to
javascript
html
forms
hyperlink
<form id="mailajob" method="post" action="emailthijob.php">
<input type="hidden" name="action" value="emailjob" />
<input type="hidden" name="jid" value="<?php echo $jobid; ?>" />
</form>
<a class="emailjob" onclick="document.getElementById('mailajob').submit();">Email this job</a>
document.getElementById("theForm").submit();
It works perfect in my case.
you can use it in function also like,
function submitForm()
{
document.getElementById("theForm").submit();
}
Set "theForm" as your form ID. It's done.
You could give the form and the link some ids and then subscribe for the onclick
event of the link and submit
the form:
<form id="myform" action="" method="POST">
<a href="#" id="mylink"> submit </a>
</form>
and then:
window.onload = function() {
document.getElementById('mylink').onclick = function() {
document.getElementById('myform').submit();
return false;
};
};
I would recommend you using a submit button for submitting forms as it respects the markup semantics and it will work even for users with javascript disabled.
here's the best solution to your question: inside the form you have these code:
<li><a href="#">Singup</a></li>
<button type="submit" id="haha"></button>
in the CSS file, do this:
button{
display: none;
}
in JS you do this:
$("a").click(function(){
$("button").trigger("click");
})
There you go.
HTML & CSS - No Javascript Solution
Make your button appear like a Bootstrap link
HTML:
<form>
<button class="btn-link">Submit</button>
</form>
CSS:
.btn-link {
background: none;
border: none;
padding: 0px;
color: #3097D1;
font: inherit;
}
.btn-link:hover {
color: #216a94;
text-decoration: underline;
}
this works well without any special function needed. Much easier to write with php as well. <input onclick="this.form.submit()"/>
If you use jQuery and would need an inline solution, this would work very well;
<a href="#" onclick="$(this).closest('form').submit();">submit form</a>
Also, you might want to replace
<a href="#">text</a>
with
<a href="javascript:void(0);">text</a>
so the user does not scroll to the top of your page when clicking the link.
Source: Stackoverflow.com