What's wrong with premarital sex?

Is Premarital Sex Really a Big Deal?

Life Bible Fellowship Church

Several years ago I was meeting with a couple for pre-marital counseling. At one point, in order to discern some things about what role God was playing in their lives and in their relationship, I asked them if they were sleeping together. When they acknowledge that they were, I asked them how they thought this impacted their relationship with God. They struggled to answer the question. They looked at me as if to say, “So you guys are still holding onto that whole premarital-sex-is-wrong thing?”

In many ways I understood their confused reaction. In 21st century American culture, premarital sex is no big deal, especially when it is between two people who are planning to get married. It seems like a petty and outdated rule. Shouldn’t we simply retire this teaching and put it alongside the flat earth?

I don’t believe we should stop talking about premarital sex. I believe that it is important for Christians to hold the line on the conviction that sex is reserved only for marriage. In this post, I want to defend the idea that Christians hold onto this conviction (and that we freely talk about it) by exploring the three most common critiques of this conviction.

Christians should just concede because it isn’t really a sin.

There are some who claim that the Bible doesn’t actually teach that premarital sex is a sin. If this is true, then I agree that Christians should stop saying that it is. Let’s explore.

When people say that the Bible doesn’t specifically forbid premarital sex, they often mean that there is no passage that directly says, “Consensual sex between two unmarried people is a sin.” This is true much in the same way that we have no statement of Jesus specifically saying, “I am God.” The argument is silly and ignores the constant threat of sexual commands and prohibitions in Scripture related to sex. Let me give an example from the Old Testament and the New Testament to demonstrate the Scripture teaches that people should either (1) get married or (2) remain celibate.

Exodus 22:16-17 says, “If a man seduces a virgin who is not pledged to be married and sleeps with her, he must pay the bride-price, and she shall be his wife. If her father absolutely refuses to give her to him, he must still pay the bride-price for virgins.” As strange as this passage seems to us today, its teaching is fairly straightforward. Here was have an unmarried man who sleeps with an unmarried woman. It is consensual. Yet instead of turning a blind eye, the law is that he must pay the bride-price and marry her. While it is not strictly correct to say that marriage is the consequence, the passage clearly makes a stand. Sex is for marriage, and so a man who sleeps with an unmarried woman needs to marry her. And if the woman’s father thinks that the man is not a good man for his daughter, then the man still has to pay the bride price. In the Old Testament it seems pretty clear that sex was always meant to go along with marriage and sex outside of marriage always had consequences.

In 1 Corinthians 7, the Apostle Paul speaks to several different groups of Christians. He speaks to Christians who are married, divorced single, and widows. In verse 8-9 he makes a statement that betrays his overall sexual ethic. He says, “Now to the unmarried and the widows I say: It is good for them to stay unmarried, as I do. But if they cannot control themselves, they should marry, for it is better to marry than to burn with passion.” Again, Paul’s point is clear. He says that it is good for Christians to remain single and no Christian should idolize marriage. He encourages marriage, however, is a person’s sexual desires are so strong that they will have trouble staying single.

Someone might argue, though, “Paul, why do they need to get married? If they have strong sexual urges, then they should just have sex with another single person every so often. After all, sex is just a normal human appetite.” Paul does not see this at all. At the end of 1 Corinthians 6 he tells believers to flee sexual immorality. Again, his teaching is clear. If you want to have sex, you need to get married. If you stay single, you need to abstain. This is not because God (or Paul or Moses) is anti-sex. This is because sex is so powerful and so intimate that it only brings good results within marriage.

While it is true that there are some recent movement to say that Scripture doesn’t forbid premarital sex, it is worthwhile to understand that these recent trends go against centuries and centuries of a near-unanimous understanding of Scripture. No one reads the Bible and concludes that premarital sex is fine. People only arrive at this conclusion if they read the Bible saying, “Can I find any way to read this that does not specifically forbid this?” We cannot abandon this teaching on Scriptural grounds because Scriptures clearly does teach it.

Christians should just concede because we’ve lost this battle.

Some might say, “It is true that the Bible teaches that premarital sex is wrong. But we should stop talking about it because we have lost this battle. The culture is so far on the side of sexual freedom that we should squabble over the little things like premarital sex. We should focus on larger matters.”

On the one hand, I certainly agree that the Christian conviction that premarital sex is wrong is a counter-cultural conviction. On the other hand, I disagree that we’ve lost this battle. We certainly have lost ground in the sense that in the Untied States most people—and according to many studies, most Christians—have premarital sex. But I believe that God’s wisdom on sex is currently being vindicated, and will consistently be vindicated. No one can mock God. God’s wisdom will always be shown to be right in the end.

Studies consistently show that premarital sex has a negative impact on our marriages and relationships. In an article written a year ago for the Institute for Family Studies, Nicolas Wolfinger explored a recent study that specifically traced the connection between lasting marriages and premarital sex in women. The study found that if a woman had no premarital sex, then her chances of being divorced after five years was 5%. Shockingly, the number jumps to 20% if she had only one sexual partner (usually the man she ended up marrying). The number jumped to 25% and 30% if he had 2 or 3 partners. This study was consistent with many others that show the same trend. While we like to trivialize premarital sex in our culture, it clearly has significance if we want lasting marriages.

Similarly, it is worth noting that freer sexual expression in our culture does not seem to be leading to sexual satisfaction. We see consistent cases of sexual addiction (related to pornography and sexual intercourse). The logic that we just need to treat sex as an appetite like food seems to fall short. When we make sex casual, it does not lead to satisfaction. It only leads to addiction.

While it could seem like we should concede because we’ve lost this battle, Christians clearly have something valuable to say on this subject. And God’s wisdom will always be vindicated.

Christians should just concede because this makes us seem silly to the world.

Some Christians may be convinced that premarital sex is wrong, but they don’t want to talk about it because it seems like an embarrassing belief. We think it makes us look silly and puritanical to the world around us.

It very well may.

The truth is, though, that Jesus doesn’t call believers to expect the favor of the world. Quite the opposite. We are to expect opposition from the world. If the world never thinks that we are silly or out-of-touch, we need to ask ourselves if we are really serious about Jesus. Christians have frequently been “on the wrong side of history.” The disciples looked silly before the resurrection of Jesus. Christians today look silly, but we won’t when Jesus returns.

As believers our calling is to wear the disgrace of Christ with boldness rather than to shrink away. The disapproval of the world must not keep us from teaching something that is Scriptural and something that leads to people’s ultimate good, while warning them of the harm of sin.

What do we do?

Let’s say you’re convinced. You might ask, “But what do we do about this as we live in the midst of people who think premarital sex is no big deal?” I have three suggestions:

  1. Take sexual sin seriously in your own life. Don’t turn a blind eye to lust, pornography, extramarital flirtations, or premarital sex. Fight the good fight. Flee immorality. And if you’re having trouble, bring other believers into the fight with you as friends and accountability partners. And if you have shame and guilt over past (or present) failures, seek God’s grace and the grace and help of others who will affirm God’s forgiveness in your life.
  2. Speak up in your sphere. If you’re a parent, teach your kids the Scriptural teaching on sex. Sex is good within marriage, but it is destructive outside of it. Don’t be afraid to speak up with friends, family members, and co-workers. Don’t be ashamed. After all, God’s truth will ultimately be vindicated.

Don’t be embarrassed. Shame is powerful, and Satan wants to shame us not only when we mess up, but when we do what Jesus calls us to do. Jesus took on our shame, which meant that he was crucified and publicly humiliated. If we stand with Jesus, we will be subjected to shame from the enemy and from our culture. But don’t be embarrassed. When you stand with Jesus, you stand with the risen Lord and the future King of this earth. You are most certainly not on the wrong side of history when you stand with him.

Free Download
#_form_3_ { font-size:14px; line-height:1.6; font-family:arial, helvetica, sans-serif; margin:0; } #_form_3_ * { outline:0; } ._form_hide { display:none; visibility:hidden; } ._form_show { display:block; visibility:visible; } #_form_3_._form-top { top:0; } #_form_3_._form-bottom { bottom:0; } #_form_3_._form-left { left:0; } #_form_3_._form-right { right:0; } #_form_3_ input[type="text"],#_form_3_ input[type="date"],#_form_3_ textarea { padding:6px; height:auto; border:#979797 1px solid; border-radius:4px; color:#000 !important; font-size:14px; -webkit-box-sizing:border-box; -moz-box-sizing:border-box; box-sizing:border-box; } #_form_3_ textarea { resize:none; } #_form_3_ ._submit { -webkit-appearance:none; cursor:pointer; font-family:arial, sans-serif; font-size:14px; text-align:center; background:#227af5 !important; border:0 !important; -moz-border-radius:50px !important; -webkit-border-radius:50px !important; border-radius:50px !important; color:#fff !important; padding:0px !important; } #_form_3_ ._close-icon { cursor:pointer; background-image:url('https://d226aj4ao1t61q.cloudfront.net/esfkyjh1u_forms-close-dark.png'); background-repeat:no-repeat; background-size:14.2px 14.2px; position:absolute; display:block; top:11px; right:9px; overflow:hidden; width:16.2px; height:16.2px; } #_form_3_ ._close-icon:before { position:relative; } #_form_3_ ._form-body { margin-bottom:30px; } #_form_3_ ._form-image-left { width:150px; float:left; } #_form_3_ ._form-content-right { margin-left:164px; } #_form_3_ ._form-branding { color:#fff; font-size:10px; clear:both; text-align:left; margin-top:30px; font-weight:100; } #_form_3_ ._form-branding ._logo { display:block; width:130px; height:14px; margin-top:6px; background-image:url('https://d226aj4ao1t61q.cloudfront.net/hh9ujqgv5_aclogo_li.png'); background-size:130px auto; background-repeat:no-repeat; } #_form_3_ .form-sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0, 0, 0, 0); border:0; } #_form_3_ ._form-label,#_form_3_ ._form_element ._form-label { font-weight:bold; margin-bottom:5px; display:block; } #_form_3_._dark ._form-branding { color:#333; } #_form_3_._dark ._form-branding ._logo { background-image:url('https://d226aj4ao1t61q.cloudfront.net/jftq2c8s_aclogo_dk.png'); } #_form_3_ ._form_element { position:relative; margin-bottom:10px; font-size:0; max-width:100%; } #_form_3_ ._form_element * { font-size:14px; } #_form_3_ ._form_element._clear { clear:both; width:100%; float:none; } #_form_3_ ._form_element._clear:after { clear:left; } #_form_3_ ._form_element input[type="text"],#_form_3_ ._form_element input[type="date"],#_form_3_ ._form_element select,#_form_3_ ._form_element textarea:not(.g-recaptcha-response) { display:block; width:100%; -webkit-box-sizing:border-box; -moz-box-sizing:border-box; box-sizing:border-box; font-family:inherit; } #_form_3_ ._field-wrapper { position:relative; } #_form_3_ ._inline-style { float:left; } #_form_3_ ._inline-style input[type="text"] { width:150px; } #_form_3_ ._inline-style:not(._clear) + ._inline-style:not(._clear) { margin-left:20px; } #_form_3_ ._form_element img._form-image { max-width:100%; } #_form_3_ ._form_element ._form-fieldset { border:0; padding:0.01em 0 0 0; margin:0; min-width:0; } #_form_3_ ._clear-element { clear:left; } #_form_3_ ._full_width { width:100%; } #_form_3_ ._form_full_field { display:block; width:100%; margin-bottom:10px; } #_form_3_ input[type="text"]._has_error,#_form_3_ textarea._has_error { border:#f37c7b 1px solid; } #_form_3_ input[type="checkbox"]._has_error { outline:#f37c7b 1px solid; } #_form_3_ ._error { display:block; position:absolute; font-size:14px; z-index:10000001; } #_form_3_ ._error._above { padding-bottom:4px; bottom:39px; right:0; } #_form_3_ ._error._below { padding-top:4px; top:100%; right:0; } #_form_3_ ._error._above ._error-arrow { bottom:0; right:15px; border-left:5px solid transparent; border-right:5px solid transparent; border-top:5px solid #f37c7b; } #_form_3_ ._error._below ._error-arrow { top:0; right:15px; border-left:5px solid transparent; border-right:5px solid transparent; border-bottom:5px solid #f37c7b; } #_form_3_ ._error-inner { padding:8px 12px; background-color:#f37c7b; font-size:14px; font-family:arial, sans-serif; color:#fff; text-align:center; text-decoration:none; -webkit-border-radius:4px; -moz-border-radius:4px; border-radius:4px; } #_form_3_ ._error-inner._form_error { margin-bottom:5px; text-align:left; } #_form_3_ ._button-wrapper ._error-inner._form_error { position:static; } #_form_3_ ._error-inner._no_arrow { margin-bottom:10px; } #_form_3_ ._error-arrow { position:absolute; width:0; height:0; } #_form_3_ ._error-html { margin-bottom:10px; } .pika-single { z-index:10000001 !important; } #_form_3_ input[type="text"].datetime_date { width:69%; display:inline; } #_form_3_ select.datetime_time { width:29%; display:inline; height:32px; } @media all and (min-width:320px) and (max-width:667px) { ::-webkit-scrollbar { display:none; } #_form_3_ { margin:0; width:100%; min-width:100%; max-width:100%; box-sizing:border-box; } #_form_3_ * { -webkit-box-sizing:border-box; -moz-box-sizing:border-box; box-sizing:border-box; font-size:1em; } #_form_3_ ._form-content { margin:0; width:100%; } #_form_3_ ._form-inner { display:block; min-width:100%; } #_form_3_ ._form-title,#_form_3_ ._inline-style { margin-top:0; margin-right:0; margin-left:0; } #_form_3_ ._form-title { font-size:1.2em; } #_form_3_ ._form_element { margin:0 0 20px; padding:0; width:100%; } #_form_3_ ._form-element,#_form_3_ ._inline-style,#_form_3_ input[type="text"],#_form_3_ label,#_form_3_ p,#_form_3_ textarea:not(.g-recaptcha-response) { float:none; display:block; width:100%; } #_form_3_ ._row._checkbox-radio label { display:inline; } #_form_3_ ._row,#_form_3_ p,#_form_3_ label { margin-bottom:0.7em; width:100%; } #_form_3_ ._row input[type="checkbox"],#_form_3_ ._row input[type="radio"] { margin:0 !important; vertical-align:middle !important; } #_form_3_ ._row input[type="checkbox"] + span label { display:inline; } #_form_3_ ._row span label { margin:0 !important; width:initial !important; vertical-align:middle !important; } #_form_3_ ._form-image { max-width:100%; height:auto !important; } #_form_3_ input[type="text"] { padding-left:10px; padding-right:10px; font-size:16px; line-height:1.3em; -webkit-appearance:none; } #_form_3_ input[type="radio"],#_form_3_ input[type="checkbox"] { display:inline-block; width:1.3em; height:1.3em; font-size:1em; margin:0 0.3em 0 0; vertical-align:baseline; } #_form_3_ button[type="submit"] { padding:20px; font-size:1.5em; } #_form_3_ ._inline-style { margin:20px 0 0 !important; } } #_form_3_ { position:relative; text-align:left; margin:25px auto 0; padding:20px; -webkit-box-sizing:border-box; -moz-box-sizing:border-box; box-sizing:border-box; *zoom:1; background:transparent !important; border:0px solid #b0b0b0 !important; width:500px; -moz-border-radius:0px !important; -webkit-border-radius:0px !important; border-radius:0px !important; color:#000 !important; } #_form_3_._inline-form,#_form_3_._inline-form ._form-content,#_form_3_._inline-form input,#_form_3_._inline-form ._submit { font-family:"Montserrat", sans-serif, 'IBM Plex Sans', arial, sans-serif; } #_form_3_ ._form-title { font-size:22px; line-height:22px; font-weight:600; margin-bottom:0; } #_form_3_:before,#_form_3_:after { content:" "; display:table; } #_form_3_:after { clear:both; } #_form_3_._inline-style { width:auto; display:inline-block; } #_form_3_._inline-style input[type="text"],#_form_3_._inline-style input[type="date"] { padding:10px 12px; } #_form_3_._inline-style button._inline-style { position:relative; top:27px; } #_form_3_._inline-style p { margin:0; } #_form_3_._inline-style ._button-wrapper { position:relative; margin:27px 12.5px 0 20px; } #_form_3_ ._form-thank-you { position:relative; left:0; right:0; text-align:center; font-size:18px; } @media all and (min-width:320px) and (max-width:667px) { #_form_3_._inline-form._inline-style ._inline-style._button-wrapper { margin-top:20px !important; margin-left:0 !important; } } #_form_3_ ._x68687019 input { border-radius:50px; padding:15px !important; } #_form_3_ ._x49008316 input { border-radius:50px; padding:15px !important; } #_form_3_ ._submit { padding:15px 35px !important; } #_form_3_ ._form_1 { padding:0 !important; margin:0 !important; }
Pastor Dan has created a list of books and recommended reading that help you get a Biblical perspective on today's issues. Sign-up below to get the free PDF!
window.cfields = []; window._show_thank_you = function(id, message, trackcmp_url, email) { var form = document.getElementById('_form_' + id + '_'), thank_you = form.querySelector('._form-thank-you'); form.querySelector('._form-content').style.display = 'none'; thank_you.innerHTML = message; thank_you.style.display = 'block'; const vgoAlias = typeof visitorGlobalObjectAlias === 'undefined' ? 'vgo' : visitorGlobalObjectAlias; var visitorObject = window[vgoAlias]; if (email && typeof visitorObject !== 'undefined') { visitorObject('setEmail', email); visitorObject('update'); } else if (typeof(trackcmp_url) != 'undefined' && trackcmp_url) { // Site tracking URL to use after inline form submission. _load_script(trackcmp_url); } if (typeof window._form_callback !== 'undefined') window._form_callback(id); }; window._show_error = function(id, message, html) { var form = document.getElementById('_form_' + id + '_'), err = document.createElement('div'), button = form.querySelector('button'), old_error = form.querySelector('._form_error'); if (old_error) old_error.parentNode.removeChild(old_error); err.innerHTML = message; err.className = '_error-inner _form_error _no_arrow'; var wrapper = document.createElement('div'); wrapper.className = '_form-inner'; wrapper.appendChild(err); button.parentNode.insertBefore(wrapper, button); document.querySelector('[id^="_form"][id$="_submit"]').disabled = false; if (html) { var div = document.createElement('div'); div.className = '_error-html'; div.innerHTML = html; err.appendChild(div); } }; window._load_script = function(url, callback) { var head = document.querySelector('head'), script = document.createElement('script'), r = false; script.type = 'text/javascript'; script.charset = 'utf-8'; script.src = url; if (callback) { script.onload = script.onreadystatechange = function() { if (!r && (!this.readyState || this.readyState == 'complete')) { r = true; callback(); } }; } head.appendChild(script); }; (function() { if (window.location.search.search("excludeform") !== -1) return false; var getCookie = function(name) { var match = document.cookie.match(new RegExp('(^|; )' + name + '=([^;]+)')); return match ? match[2] : null; } var setCookie = function(name, value) { var now = new Date(); var time = now.getTime(); var expireTime = time + 1000 * 60 * 60 * 24 * 365; now.setTime(expireTime); document.cookie = name + '=' + value + '; expires=' + now + ';path=/'; } var addEvent = function(element, event, func) { if (element.addEventListener) { element.addEventListener(event, func); } else { var oldFunc = element['on' + event]; element['on' + event] = function() { oldFunc.apply(this, arguments); func.apply(this, arguments); }; } } var _removed = false; var form_to_submit = document.getElementById('_form_3_'); var allInputs = form_to_submit.querySelectorAll('input, select, textarea'), tooltips = [], submitted = false; var getUrlParam = function(name) { var regexStr = '[\?&]' + name + '=([^&#]*)'; var results = new RegExp(regexStr, 'i').exec(window.location.href); return results != undefined ? decodeURIComponent(results[1]) : false; }; for (var i = 0; i < allInputs.length; i++) { var regexStr = "field\\[(\\d+)\\]"; var results = new RegExp(regexStr).exec(allInputs[i].name); if (results != undefined) { allInputs[i].dataset.name = window.cfields[results[1]]; } else { allInputs[i].dataset.name = allInputs[i].name; } var fieldVal = getUrlParam(allInputs[i].dataset.name); if (fieldVal) { if (allInputs[i].dataset.autofill === "false") { continue; } if (allInputs[i].type == "radio" || allInputs[i].type == "checkbox") { if (allInputs[i].value == fieldVal) { allInputs[i].checked = true; } } else { allInputs[i].value = fieldVal; } } } var remove_tooltips = function() { for (var i = 0; i < tooltips.length; i++) { tooltips[i].tip.parentNode.removeChild(tooltips[i].tip); } tooltips = []; }; var remove_tooltip = function(elem) { for (var i = 0; i < tooltips.length; i++) { if (tooltips[i].elem === elem) { tooltips[i].tip.parentNode.removeChild(tooltips[i].tip); tooltips.splice(i, 1); return; } } }; var create_tooltip = function(elem, text) { var tooltip = document.createElement('div'), arrow = document.createElement('div'), inner = document.createElement('div'), new_tooltip = {}; if (elem.type != 'radio' && elem.type != 'checkbox') { tooltip.className = '_error'; arrow.className = '_error-arrow'; inner.className = '_error-inner'; inner.innerHTML = text; tooltip.appendChild(arrow); tooltip.appendChild(inner); elem.parentNode.appendChild(tooltip); } else { tooltip.className = '_error-inner _no_arrow'; tooltip.innerHTML = text; elem.parentNode.insertBefore(tooltip, elem); new_tooltip.no_arrow = true; } new_tooltip.tip = tooltip; new_tooltip.elem = elem; tooltips.push(new_tooltip); return new_tooltip; }; var resize_tooltip = function(tooltip) { var rect = tooltip.elem.getBoundingClientRect(); var doc = document.documentElement, scrollPosition = rect.top - ((window.pageYOffset || doc.scrollTop) - (doc.clientTop || 0)); if (scrollPosition < 40) { tooltip.tip.className = tooltip.tip.className.replace(/ ?(_above|_below) ?/g, '') + ' _below'; } else { tooltip.tip.className = tooltip.tip.className.replace(/ ?(_above|_below) ?/g, '') + ' _above'; } }; var resize_tooltips = function() { if (_removed) return; for (var i = 0; i < tooltips.length; i++) { if (!tooltips[i].no_arrow) resize_tooltip(tooltips[i]); } }; var validate_field = function(elem, remove) { var tooltip = null, value = elem.value, no_error = true; remove ? remove_tooltip(elem) : false; if (elem.type != 'checkbox') elem.className = elem.className.replace(/ ?_has_error ?/g, ''); if (elem.getAttribute('required') !== null) { if (elem.type == 'radio' || (elem.type == 'checkbox' && /any/.test(elem.className))) { var elems = form_to_submit.elements[elem.name]; if (!(elems instanceof NodeList || elems instanceof HTMLCollection) || elems.length <= 1) { no_error = elem.checked; } else { no_error = false; for (var i = 0; i < elems.length; i++) { if (elems[i].checked) no_error = true; } } if (!no_error) { tooltip = create_tooltip(elem, "Please select an option."); } } else if (elem.type =='checkbox') { var elems = form_to_submit.elements[elem.name], found = false, err = []; no_error = true; for (var i = 0; i < elems.length; i++) { if (elems[i].getAttribute('required') === null) continue; if (!found && elems[i] !== elem) return true; found = true; elems[i].className = elems[i].className.replace(/ ?_has_error ?/g, ''); if (!elems[i].checked) { no_error = false; elems[i].className = elems[i].className + ' _has_error'; err.push("Checking %s is required".replace("%s", elems[i].value)); } } if (!no_error) { tooltip = create_tooltip(elem, err.join('
')); } } else if (elem.tagName == 'SELECT') { var selected = true; if (elem.multiple) { selected = false; for (var i = 0; i < elem.options.length; i++) { if (elem.options[i].selected) { selected = true; break; } } } else { for (var i = 0; i < elem.options.length; i++) { if (elem.options[i].selected && !elem.options[i].value) { selected = false; } } } if (!selected) { elem.className = elem.className + ' _has_error'; no_error = false; tooltip = create_tooltip(elem, "Please select an option."); } } else if (value === undefined || value === null || value === '') { elem.className = elem.className + ' _has_error'; no_error = false; tooltip = create_tooltip(elem, "This field is required."); } } if (no_error && elem.name == 'email') { if (!value.match(/^[\+_a-z0-9-'&=]+(\.[\+_a-z0-9-']+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,})$/i)) { elem.className = elem.className + ' _has_error'; no_error = false; tooltip = create_tooltip(elem, "Enter a valid email address."); } } if (no_error && /date_field/.test(elem.className)) { if (!value.match(/^\d\d\d\d-\d\d-\d\d$/)) { elem.className = elem.className + ' _has_error'; no_error = false; tooltip = create_tooltip(elem, "Enter a valid date."); } } tooltip ? resize_tooltip(tooltip) : false; return no_error; }; var needs_validate = function(el) { if(el.getAttribute('required') !== null){ return true } if(el.name === 'email' && el.value !== ""){ return true } return false }; var validate_form = function(e) { var err = form_to_submit.querySelector('._form_error'), no_error = true; if (!submitted) { submitted = true; for (var i = 0, len = allInputs.length; i < len; i++) { var input = allInputs[i]; if (needs_validate(input)) { if (input.type == 'text') { addEvent(input, 'blur', function() { this.value = this.value.trim(); validate_field(this, true); }); addEvent(input, 'input', function() { validate_field(this, true); }); } else if (input.type == 'radio' || input.type == 'checkbox') { (function(el) { var radios = form_to_submit.elements[el.name]; for (var i = 0; i < radios.length; i++) { addEvent(radios[i], 'click', function() { validate_field(el, true); }); } })(input); } else if (input.tagName == 'SELECT') { addEvent(input, 'change', function() { validate_field(this, true); }); } else if (input.type == 'textarea'){ addEvent(input, 'input', function() { validate_field(this, true); }); } } } } remove_tooltips(); for (var i = 0, len = allInputs.length; i < len; i++) { var elem = allInputs[i]; if (needs_validate(elem)) { if (elem.tagName.toLowerCase() !== "select") { elem.value = elem.value.trim(); } validate_field(elem) ? true : no_error = false; } } if (!no_error && e) { e.preventDefault(); } resize_tooltips(); return no_error; }; addEvent(window, 'resize', resize_tooltips); addEvent(window, 'scroll', resize_tooltips); window['recaptcha_callback'] = function() { // Get all recaptchas in the DOM (there may be more than one form on the page). var recaptchas = document.getElementsByClassName("g-recaptcha"); for (var i in recaptchas) { // Set the recaptcha element ID, so the recaptcha can be applied to each element. var recaptcha_id = "recaptcha_" + i; recaptchas[i].id = recaptcha_id; var el = document.getElementById(recaptcha_id); if (el != null) { var sitekey = el.getAttribute("data-sitekey"); var stoken = el.getAttribute("data-stoken"); grecaptcha.render(recaptcha_id, {"sitekey":sitekey,"stoken":stoken}); } } }; _load_script("//www.google.com/recaptcha/api.js?onload=recaptcha_callback&render=explicit"); window._old_serialize = null; if (typeof serialize !== 'undefined') window._old_serialize = window.serialize; _load_script("//d3rxaij56vjege.cloudfront.net/form-serialize/0.3/serialize.min.js", function() { window._form_serialize = window.serialize; if (window._old_serialize) window.serialize = window._old_serialize; }); var form_submit = function(e) { e.preventDefault(); if (validate_form()) { // use this trick to get the submit button & disable it using plain javascript document.querySelector('#_form_3_submit').disabled = true; var serialized = _form_serialize(document.getElementById('_form_3_')).replace(/%0A/g, '\\n'); var err = form_to_submit.querySelector('._form_error'); err ? err.parentNode.removeChild(err) : false; _load_script('https://lbfchurch.activehosted.com/proc.php?' + serialized + '&jsonp=true'); } return false; }; addEvent(form_to_submit, 'submit', form_submit); })();

More From LBF Church