2009-01-09 11 views
1

Je suis asp.net-MVC en utilisant la syntaxe BeginForm dans ma page d'affichage source et on m'a dit que si vous voulez que le formulaire soumis, vous devez avoir le bouton Soumettre à la fin de l'instruction using. Je ne veux pas utiliser un bouton pour appeler l'action désirée, j'ai un ActionLink mis en place comme ceci:Masquer Soumettre Bouton pour formulaire

<%=Html.ActionLink("" + CreateMore, "Create", "", new { @class = "Create" })%> 

et je veux que le formulaire pour soumettre lorsque cette ActionLink est cliqué, car ils sont tous les deux vont à la même .. l'action et je ne veux pas être en mesure de voir un bouton Soumettre:

<input type="submit" /> 

parce que le lien semble mieux

Répondre

5

je serais reprendre encore une fois jQuery pour gérer cette tâche

$(function(){ 
    $('input:submit').hide(); //hide the submit button 
    $('#submitLinkID').click(function(){ // bind the link's click event 
    $('input:submit').click(); //click the hidden button 
    return false; //return false to stop the link from doing anything 
    }); 
}); 
3

Quelle est la question?

style = "affichage: aucun;" cacherait le bouton. Vous n'indiquez pas où vous rencontrez un problème.

1

ActionLink va produire un lien que vous pouvez cliquer sur mais il ne sera pas réellement POST la forme. Vous devez ajouter les paramètres de requête au lien Action si l'action s'attend à ce que certaines données agissent. S'il n'y a pas de données sur lesquelles agir, alors je ne vois pas le besoin d'un formulaire du tout car cliquer sur le lien appellera l'action. En supposant que vous voulez juste utiliser un lien pour soumettre le formulaire, alors je ne vois pas pourquoi vous avez besoin d'un lien ActionLink du tout, ni le bouton d'entrée. Il suffit d'ajouter une balise d'ancrage régulière à la forme comme suit:

<a id='submitIDLink' 
    href='javascript:void(0);' 
    onclick='document.forms[0].submit();'>Create</a> 

Notez que si vous voulez que cela fonctionne quel que soit le javascript étant activé, vous devez être un peu plus créatif. Vous utiliseriez le bouton et le lien, mais commencez par le bouton visible et le lien caché. Avoir un peu de javascript qui fonctionne sur document prêt qui cache le bouton et montre le lien. Dans ce cas, vous pouvez utiliser quelque chose de similaire à ce que suggère @Corey avec le tweak pour montrer le lien.

+0

C'est un bon appel pour garder le lien caché et le montrer avec javascript pour les utilisateurs avec javascript désactivé, sinon ils verraient à la fois le lien et le bouton. –

+0

En essayant de cette façon, je reçois un objet erro disant ne supporte pas cette méthode – TStamper

1

Javascript serait bien, mais ce que je fais habituellement est

style = « position: absolute; top: -5000px » se cachaient le bouton en haut de l'écran, donc s'il suffit de régler le nombre si votre formulaire est trop long.

+0

merci monmonja - cela a résolu un autre problème que j'avais. Lorsque vous masquez le bouton de soumission (même en utilisant simplement css style = "display: none;"), il empêche l'affichage d'un formulaire lorsque vous cliquez sur le bouton Entrée. Cependant, si j'utilise votre idée et que j'exécute simplement le bouton dans l'infini (!) Cela fonctionne très bien. –

Questions connexes