Am'am primit un formular, cu 2 butoane
<a href="index.html"><button>Cancel changes</button></a>
<button type="submit">Submit</button>
Eu folosesc jQuery UI's butonul de pe ei, pur și simplu astfel de prognoze
$('button').button();
Cu toate acestea, primul buton, de asemenea, depune formularul. M-aș fi gândit că, dacă nu't au type="trimiteți"
, ar't.
Evident, am putea face acest lucru
$('button[type!=submit]').click(function(event) { event.stopPropagation(); });
Dar există o modalitate pot opri butonul înapoi de la depunerea formularului, fără JavaScript intervenție?
Pentru a fi sincer, am folosit un buton numai așa am putut stil cu jQuery UI. Am încercat să sun `butonul () de pe link-ul și l-am't lucreze cum era de așteptat (arata destul de urat!).
Valoarea implicită pentru type
atributul de "buton" elemente e "trimiteți". Setați-l la `type="butonul" pentru a produce un buton care nu't de a trimite formularul.
<button type="button">Submit</button>
În cuvintele HTML Standard: "nu Face nimic."
La "butonul" element are un default tip de "trimite".
Puteți face nimic prin stabilirea unui tip de "buton":
<button type="button">Cancel changes</button>
Doar folosi HTML:
<input type="button" value="Submit" />
Înfășurați-l ca subiect de un link, dacă doriți:
<a href="http://somewhere.com"><input type="button" value="Submit" /></a>
Sau, dacă vă decideți doriți javascript pentru a oferi unele alte funcționalități:
<input type="button" value="Cancel" onclick="javascript: someFunctionThatCouldIncludeRedirect();"/>
Sincer, îmi place alte răspunsuri. Ușor și nu este nevoie pentru a obține în JS. Dar am observat că ai fost întrebat despre jQuery. Deci, pentru motive de exhaustivitate, în jQuery dacă return false cu .faceți clic pe() handler, se va anula acțiunea implicită de widget.
Vezi aici un exemplu (și mai multe bunătăți, de asemenea). Aici's documentației, prea.
într-un cuvânt, cu mostre de cod, face acest lucru:
<script type="text/javascript">
$('button[type!=submit]').click(function(){
// code to cancel changes
return false;
});
</script>
<a href="index.html"><button>Cancel changes</button></a>
<button type="submit">Submit</button>
Ca un beneficiu suplimentar, cu acest lucru, puteți scăpa de tag-ul ancora și de a folosi doar butonul.
Fără stabilirea atributul "type", ai putea reveni, de asemenea, "false", de la "OnClick" handler, și să declare "onclick" atribut ca onclick="întoarcerea onBtnClick(eveniment)"
.
<form class="form-horizontal" method="post">
<div class="control-group">
<input type="text" name="subject_code" id="inputEmail" placeholder="Subject Code">
</div>
<div class="control-group">
<input type="text" class="span8" name="title" id="inputPassword" placeholder="Subject Title" required>
</div>
<div class="control-group">
<input type="text" class="span1" name="unit" id="inputPassword" required>
</div>
<div class="control-group">
<label class="control-label" for="inputPassword">Semester</label>
<div class="controls">
<select name="semester">
<option></option>
<option>1st</option>
<option>2nd</option>
</select>
</div>
</div>
<div class="control-group">
<label class="control-label" for="inputPassword">Deskripsi</label>
<div class="controls">
<textarea name="description" id="ckeditor_full"></textarea>
<script>CKEDITOR.replace('ckeditor_full');</script>
</div>
</div>
<div class="control-group">
<div class="controls">
<button name="save" type="submit" class="btn btn-info"><i class="icon-save"></i> Simpan</button>
</div>
</div>
</form>
<?php
if (isset($_POST['save'])){
$subject_code = $_POST['subject_code'];
$title = $_POST['title'];
$unit = $_POST['unit'];
$description = $_POST['description'];
$semester = $_POST['semester'];
$query = mysql_query("select * from subject where subject_code = '$subject_code' ")or die(mysql_error());
$count = mysql_num_rows($query);
if ($count > 0){ ?>
<script>
alert('Data Sudah Ada');
</script>
<?php
}else{
mysql_query("insert into subject (subject_code,subject_title,description,unit,semester) values('$subject_code','$title','$description','$unit','$semester')")or die(mysql_error());
mysql_query("insert into activity_log (date,username,action) values(NOW(),'$user_username','Add Subject $subject_code')")or die(mysql_error());
?>
<script>
window.location = "subjects.php";
</script>
<?php
}
}
?>