2012-06-13 2 views
0

Google 검색 중 일부를 수행했지만이 작업을 수행하지 못했습니다. 내가해야 할 일은 내 양식의 모든 텍스트 필드를 살펴보고 ","(쉼표)의 모든 인스턴스를 "& # 4 4"로 바꿉니다. 제출시 쉼표 (이스케이프 된 쉼표). 여기javascript 제출시 모든 양식 필드의 텍스트를 바꿉니다.

<form name="buildcourse" id="buildcourse" action="target.htm" method="post" enctype="multipart/form-data" onsubmit="validateForm()"> 

그리고 내 자바 스크립트 함수입니다 :

<script language="javascript"> 
function validateForm(buildcourse){ 
    $('form input[type="text"]').each(function(){ 
     this.value = replace(",","&#44;"); 
    }); 
} 
</script> 

작업을 얻을 수있는 도움을 싶어요 여기

양식 태그입니다. 미안 나는 완전히 Javascript-inept.

+0

목적은 무엇인가 (바인딩 인라인 이벤트를했다)? 이런 종류의 일은 보통 서버 측에서 가장 잘 수행됩니다. – Radu

+0

동의 100 %. 이 경우 이전 양식의 ColdFusion 사이트에서 여러 양식 필드가 같은 이름으로 제출 된 다음 나중에 분리됩니다. 그러나 이는 필드 중 어느 것도 쉼표를 사용할 수 없음을 의미합니다. 그것은 슈퍼 바보와 짜증나지만, 난 단지 그것을 작동시켜야하고 우리가 곧 recode 수 있기를 바랍니다. – user1316401

+0

'대체가()''String', 당신은 그래서 이러한 방식으로'하려면 string.replace ('/,/g', ',')를 호출 할 속한' – Adi

답변

2
그런 다음 "&#44;"

$('form input[type="text"]').each(function(){ 
    this.value = this.value.split(',').join('&#44;') 
}); 

순수 자바 스크립트로 다시 가입 commas에서 분할이 작업을 수행 할 수

http://jsfiddle.net/mQrLS/3/

var theInputs = document.getElementsByTagName('input'); 
for (var i = 0; i < theInputs.length; i++) { 
    var node = theInputs [i]; 

    if (node.getAttribute('type') == 'text') { 
     // using split 
     //node.value = this.value.split(',').join('&#44;'); 
     // using regex 
     node.value= node.value.replace(/,/g,'&#44;'); 
    } 
} 

@Radu은 언급 한 바와 같이 빠른

+0

검증/교환은도하지 않는 것 코드 또는 광산으로 처리하십시오. 다른 곳에서 간과되는 구문 문제가 있습니까? – user1316401

+0

방금 ​​코드를 업데이트했습니다. 내가 정규식 빠르게 작동으로는'.replace()를 '많이 중요하지만, –

+0

this.value.split 이전 잊었 : HTTP : // jsperf .COM/정규식 - 대 - 분할이 조인 – user1316401

2

을 수행 않습니다 정규식 교체 코드에 문제가 있으면 전역 대체 기능이 없다는 것입니다. 그러나 모든 문자열에 대한 메서드로 사용할 수 있습니다.

<form name="buildcourse" id="buildcourse" action="target.htm" method="post" enctype="multipart/form-data"> 

$('#buildcourse').submit(function() { 
    $('form input[type="text"]').each(function(){ 
     this.value = this.value.replace(/,/g, '&#44;'); 
    }); 
});​ 
+0

그 문자열에 올바른 첫 번째 쉼표를 얻을 것이다? –

+0

@wirey, 좋은 캐치,이 그것을 수정해야 – Radu

+0

해결됩니다. '.replace ('/,/g을 ',', ')를' – Adi

관련 문제