Usando jQuery , come prima cosa disabiliterei la funzione SUBMIT
quindi assegnerei al tasto SUBMIT l'esecuzione di una funzione che esegue le tue verifiche , inviando in caso di errore ALERT , ed in caso di un corretto inserimento esegua l'azione.
struttura HTML
Codice HTML:
<form id="mioFORM" action="">
Campo1:<input type="text" name="capo1" id="campo1"/>
Campo2:<input type="text" name="capo2" id="campo2"/>
<button onclick="controllo()">INVIA</button>
</form>
1) carico la libreria jQuery
Codice:
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
2) disabilto la funzione SUBMIT
Codice:
$(document).ready(function(){
$("#mioFORM").submit(function( event ){
event.preventDefault();
});
});
3) creo la funzione controllo()
Codice:
function controllo(){
var controlla = true;
var campo1 = $("#campo1").val();
var campo2 = $("#campo2").val();
if(campo1=="" && campo2==""){
alert("compilare almeno un campo");
controlla=false;
}
if(campo1!="" && campo2!=""){
alert("compilare solo un campo");
controlla=false;
}
if(controlla){
$("form").submit(function(event){
$(this).unbind('submit').submit();
});
}
}
DEMO