私は単純なフォームを持っています私は、フォームが有効な状態にあるかどうかを知りたいと思います。validationEngine( 'validate')関数ではありません
このプロジェクトは、私はそれがフォームの状態に応じて、trueまたはfalseを返す関数validationEngine('validate')
をサポートドキュメントによると、同じバージョン2.6.2
を使用していますjQuery Validation Engine
を使用しています。
エラーが続きますTypeError: $(...).validationEngine is not a function
しかし、奇妙なことに、フォームが必要に応じて検証エラーを投げています。
私は、validationEngineプラグインがjqueryの後で、呼び出し元のjsファイルの前にロードされていることを確認しました。フォームセレクタも正しいです。
フォーム:検証を取り付け
<form name="editProfileForm" method="post" action="#" class="epf" id="editDiaryForm" style="display:none;">
<a href="javascript:void(0)" onclick="toggleCancel(this,'addPlay');$('#editDiaryForm')[0].reset();;" class="pull-right action-link">Cancel</a>
<a href="javascript:void(0)" onclick="submitDiary('#editDiaryForm');" class="pull-right action-link">Save </a>
<input class="form-control validate[required, ajax[ajaxDiaryCall]]" name="title" id="title" type="text"/>
<textarea class="form-control validate[required]" name="playdiary" id="playdiary"></textarea>
<input type="hidden" name="Edit" value="playdiary" />
</form>
:
$(document).ready(function(){
$("#editDiaryForm").validationEngine('attach');
//This throws true
console.log($('#editDiaryForm').validationEngine('validate'));
});
送信機能
function submitDiary(formid)
{
$(formid).bind('submit' , function(e){
e.preventDefault();
// Gives me the expected value
console.log('Submiting Form - '+ formid);
//Throws me an error here if commited
$(formid).validationEngine();
submit = false;
//Gets stuck here
if(submit == false && $(formid).validationEngine('validate') == true)
{
submit=true;
$.ajax({
url: url+'diary/save',
async: false,
type: "post",
data: $(formid).serialize(),
success: function (data) {
if(data==true)
{
$('#diaries').prepend(data);
}
else
{
custom_page_msg('Something Went Wrong. Please Login to your account again to complete the action.');
}
submit = false;
}
});
}
});
$(formid).submit();
}
スクリプト注文
<script src="<?php echo base_url()?>js/jquery.min.js"></script>
<!-- Include all compiled plugins (below), or include individual files as needed -->
<script src="<?php echo base_url('js'); ?>/bootstrap.min.js"></script>
<script src="http://code.jquery.com/ui/1.11.4/jquery-ui.js"></script>
<script src="<?php echo base_url('js/languages'); ?>/jquery.validationEngine-en.js"></script>
<script src="<?php echo base_url('js'); ?>/jquery.validationEngine.js"></script>
<script src="<?php echo base_url('js'); ?>/jquery.customSelect.min.js"></script>
<script src="<?php echo base_url('js'); ?>/scripts.js"></script>
<script src="<?php echo base_url('js'); ?>/other-validation.js"></script>
<script src="<?php echo base_url('js'); ?>/dropzone.js"></script>
<script src="<?php echo base_url('js'); ?>/global.js"></script>
この点については、どんな指導でも非常に役に立ちます。
更新
ITSは問題が別の場所だっ解決しました。私はJSの独自のバージョンをロードしていたファイルを見つけました。 submitDiary関数の開始時にちょうど単純なjQuery.noConflict();
がトリックでした。もしあなたが何かのサイマルに遭遇すれば、それはそれかもしれない。
ありがとうございました。
@Genocide_Hoax私はこれがそうちょうどあなたが、私は私の提出機能を更新したリクエスト – LkPark
を呼び出すホエーを変更する動作するはずのポストを編集しました。見てください。 –
これはうまくいきません。あなたのonclickにどのように伝えたかは非同期に伝播します。いくつかのIDを設定してから、私の例のようにjQueryでクリックイベントをバインドしようとしたら、何が起こるかを教えてください – LkPark