Matthew Verstraete
Matthew Verstraete

Reputation: 6781

Watching jQuery click event for HTML button (not input)

I have been doing some searching and most of what I find relates to the html <input type="submit"> buttons or connecting to a button by the ID tag. What I am trying to do is attach to every html5 <button> based off the NAME tag. I have tried the following but when the button is clicked it submits and I don't get any alerts before it does.

$("button[name=Submit]").click(function ()
{
    var error;

    alert("test1");

    if ($("#SelectedProjectCodes").val() == "") { alert("test"); }

    return false;
});

Also tried

$("input[name=Submit]").click(function ()
{
    var error;

    alert("test1");

    if ($("#SelectedProjectCodes").val() == "") { alert("test"); }

    return false;
});

Here is the HTML for one of the submit buttons:

<button formnovalidate="formnovalidate" type="submit" name="Submit" value="Add Time">Add Time</button>

So how am I supposed to attach to all my html5 buttons?

Note: The JS in in an external file with about a dozen other functions which all work so I do know the JS file is being loaded properly and working. And all the code is in a $(document).ready(function ()

Upvotes: 0

Views: 1082

Answers (2)

Gustavo Piris
Gustavo Piris

Reputation: 68

You must put the id in the button like below

<button formnovalidate="formnovalidate" id="id1" type="submit" name="Submit" value="Add Time">Add Time</button>

And also you jquery code sometime like this (call via button id)

$( "#id1" ).click(function() {
  var error;

alert("test1");

if ($("#SelectedProjectCodes").val() == "") { alert("test"); }

return false;});

Hope it helps you...

Upvotes: -1

ceejayoz
ceejayoz

Reputation: 179994

You need to prevent the default behaviour:

$("button[name=Submit]").click(function(event) {
    event.preventDefault();
    // other code
});

Upvotes: 1

Related Questions