Dear All,
I customize jobs online form. I'd like to validate the form after submit.
But I've wondering why it does not working.
Appreciate any help.
template.xml:
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<template id="assets_frontend" inherit_id="website.assets_frontend" name="website_seic_assets">
<xpath expr="link[last()]" position="after">
<link rel='stylesheet' type="text/less" href='/website_seic/static/src/less/website_seic.less'/>
</xpath>
<xpath expr="script[last()]" position="after">
<script type="text/javascript" src="/website_seic/static/src/js/custom.js"></script>
</xpath>
</template>
<template id="index">
<title>Academy</title>
<t t-foreach="teachers" t-as="teacher">
<p><t t-esc="teacher"/></p>
</t>
</template>
<template id="apply">
<t t-call="website.layout">
<t t-set="additional_title">Apply Job</t>
<div id="wrap" class="container">
<h1 class="text-center">
JOBS
</h1>
<h2 t-if="job" class="text-center text-muted">
<span t-field="job.name"/>
</h2>
<div class="row">
<section id="forms">
<form name="myForm" action="/website/form/" method="post" class="s_website_form form-horizontal container-fluid mt32" enctype="multipart/form-data" data-model_name="hr.applicant" data-success_page="/myjob-thank-you" t-att-data-form_field_department_id="job and job.department_id.id or False" t-att-data-form_field_job_id="job and job.id or False">
<div class="form-group form-field o_website_form_required_custom">
<div class="col-md-3 col-sm-4 text-right">
<label class="control-label" for="partner_name">Name</label>
</div>
<div class="col-md-7 col-sm-8">
<input type="text" class="form-control o_website_form_input" name="partner_name" required="" placeholder="Please enter your name"/>
</div>
<div id="other-partnername-container">
<div class="col-md-3 col-sm-4"></div>
<div class="col-md-7 col-sm-8">Please enter your name (Character Only)</div>
</div>
</div>
<div class="form-group form-field o_website_form_required_custom">
<div class="col-md-3 col-sm-4 text-right">
<label class="control-label" for="x_partner_id">Person ID</label>
</div>
<div class="col-md-7 col-sm-8">
<input type="text" class="form-control o_website_form_input" name="x_partner_id" required="" placeholder="Person ID"/>
</div>
<div id="other-partnerid-container">
<div class="col-md-3 col-sm-4"></div>
<div class="col-md-7 col-sm-8">Please enter your personal ID</div>
</div>
</div>
<div class="form-group form-field o_website_form_required_custom">
<div class="col-md-3 col-sm-4 text-right">
<label class="control-label" for="partner_mobile">Mobile</label>
</div>
<div class="col-md-7 col-sm-8">
<input type="text" class="form-control o_website_form_input" name="partner_mobile" required="" placeholder="Please enter mobile"/>
</div>
<div id="other-mobile-container">
<div class="col-md-3 col-sm-4"></div>
<div class="col-md-7 col-sm-8">Please enter mobile</div>
</div>
</div>
<div class="form-group form-field o_website_form_required_custom">
<div class="col-md-3 col-sm-4 text-right">
<label class="control-label" for="email_from">Email</label>
</div>
<div class="col-md-7 col-sm-8">
<input type="email" class="form-control o_website_form_input" name="email_from" required="" placeholder="Please enter email"/>
</div>
<div id="other-email-container">
<div class="col-md-3 col-sm-4"></div>
<div class="col-md-7 col-sm-8">Please enter email</div>
</div>
</div>
<div class="form-group">
<div class="col-md-offset-3 col-sm-offset-4 col-sm-8 col-md-7">
<span id="my-button" class="btn btn-primary btn-lg o_website_form_send">Submit</span>
<span id="o_website_form_result"></span>
</div>
</div>
</form>
</section>
</div>
</div>
</t>
</template>
</odoo>
custom.js
$(function(){
'use strict';
$('body').on('click', 'span', function() {
//javascript working fine when uncomment/comment below line:
//alert (document.myForm.x_partner_id.value);
if !(checkPartnerID(document.myForm.x_partner_id.value))
$("#other-partnerid-container").show();
else
$("#other-partnerid-container").hide();
});
});
function checkPartnerID(id)
{
if(id.length != 13)
return false;
for(i=0, sum=0; i < 12; i++)
sum += parseFloat(id.charAt(i))*(13-i);
if((11-sum%11)%10!=parseFloat(id.charAt(12)))
return false;
return true;
};