PHPデベロッパーと仕事をしていて、4つのチェックボックスを含むHTMLフォームをJSON文字列としてサーバーに送信する作業がありました。ただし、フォーム送信ボタンをクリックするたびにページがリセットされ、フォームが正しく送信されているかどうかを確認することはできません。 JSコードに警告やconsole.logを追加すると、それらは実行されません。私は****をウェブサイトのURLに追加しました。JSONを使用してHTMLフォームを送信およびテストする
フォームは、3つの文字列と4つのチェックボックスを2つの異なるJSONリンクに送信することになっています。後で検証を追加して、なぜコードを実行しないのか理解したかっただけです。投稿時にページがリフレッシュされるため、アラートが機能しないと思いますが、それが動作しているかどうかをテストするにはどうすればよいですか?
ありがとうございます。
これは、JSスクリプトです:
$("#form1").submit(function(e) {
//LADO SERVIDOR (ARQUIVO PHP) https://pt.stackoverflow.com/questions/15661/receber-ajax-json-post-no-php-e-retornar-no-sucesso
e.preventDefault();
var identificador = $(nome )[0].value;
var descricao = $(descricao)[0].value;
var password = $(password )[0].value;
$('.somename').each(function(e){
if($(this).is(':checked'))
list = list + $(this).attr('id')+",";
});
$.getJSON('******/get?code=3001&desc='+descricao+'&key='+password+'&format=json&charset=utf-8&lang=pt_br', function(data){});
$.getJSON('********/get?code=3004&id='+identificador+'&sr='+list+'&format=json&charset=utf-8&lang=pt_br', function(data){});
alert(list);
});
HTML(ブートストラップを使用して)一部:
<div class="form-group">
<label>Identificador do empreendimento</label>
<input class="form-control" placeholder="Identificador para identificar a empreendimento" id="nome">
</div>
<div class="form-group">
<label>Descrição do empreendimento</label>
<input class="form-control" placeholder="Descreva o objetivo do empreendimento" id="descricao">
</div>
<div class="form-group">
<label>Palavra-chave</label>
<input class="form-control" placeholder="Palavra-chave para acessar a empreendimento" id="password">
</div>
<!-- <div class="form-group">
<label>Static Control</label>
<p class="form-control-static">[email protected]</p>
</div> -->
<div class="form-group">
<label>Selecione as fontes de energia</label>
<div class="checkbox">
<input class="somename" type="checkbox" id="1" value="1" name="eolica"> Eolica
<br>
<input class="somename" type="checkbox" id="2" value="2" name="solar"> Solar
<br>
<input class="somename" type="checkbox" id="3" value="3" name="biomassa"> Biomassa
<br>
<input class="somename" type="checkbox" id="4" value="4" name="phc"> PHC
<br>
</div>
<!-- <a href="prevotacao.html" class="btn btn-success" role="button">Create enterprise »</a> -->
<button type="reset" class="btn btn-warning" id="reset">Clean form »</button>
</form>
</div>
</div>
Vue.JSのようなものを試しましたか? –
私は、あなたがサーバーからいくつかのJSONを受け取ったり、いくつかのJSONをサーバーに送信しようとしているのですか? – AlexBenoit
コンソールログやアラートが表示されない場合は、イベントハンドラが設定されていない可能性があります。つまり、フォームが作成される前にコードが実行されている可能性があります。または、間違ったCSSセレクターを使用している可能性があります。 –